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
你再试试看有问题没,新手刚学,写的头疼
在代码窗口按F5/在菜单栏可以直接运行.在EXCEL可以添加一个按钮,然后指定这个宏.点击就可以了.
这个需要写代码才能实现