帮助解决一下EXCEL的问题,可能要用到VBA,我完全不会

帮助解决一下EXCEL的问题,可能要用到VBA,我完全不会
2025-05-06 20:57:50
推荐回答(3个)
回答1:

Sub test1()
On Error Resume Next
Dim arr
Dim i, j, k, rowc, kk 'i行 5列
rowc = Range("a65535").End(3).Row
kk = Application.InputBox("开始列数", "1-5")
If kk = False Then
 Exit Sub
End If
Select Case kk
    Case 1, 2, 3, 4, 5
    
    arr = Sheets(1).UsedRange
        For i = 1 To UBound(arr)
            For j = kk To 5
            If Not IsNumeric(arr(i, j)) Then
                MsgBox i & "行" & j & "列含非数字"
                Exit Sub
            End If
                If pd(Int(arr(i, j))) Then
                    Cells(i, j).Interior.ColorIndex = 6
                    i = i + 1
                    k = 0
                Else
                    Cells(i, j).Interior.ColorIndex = 4
                    j = j - 1
                    i = i + 1
                    k = k + 1
                       If k > 1 Then
                           j = j + 1
                           k = k - 2
                       End If
                End If
            Next j
            i = i - 1
            kk = 1
        Next i
        With Range(Cells(rowc + 1, 1), Cells(65536, 5)).Interior
            .Pattern = xlNone
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    Case Else
    Exit Sub
End Select
End Sub
Function pd(shuzi As Integer) As Boolean

Select Case shuzi
    Case 1, 2, 4, 7, 8, 10
    pd = True
    Case Else
    pd = False
End Select
End Function

你再试试看有问题没,新手刚学,写的头疼

回答2:

在代码窗口按F5/在菜单栏可以直接运行.在EXCEL可以添加一个按钮,然后指定这个宏.点击就可以了.

回答3:

这个需要写代码才能实现