我尝试使用Do Until来运行一列数据(可以是工作表中的任何列),并根据A列中的值执行某些任务。
A栏结果是1,2或END !?我希望运行任何列并根据A中的值执行例程,直到A =" END中的值为止??"
我无法使用偏移功能,因为Do Until将每个月移动一列。
基本上我需要代码总是检查A列中的值,并根据值执行三个函数中的一个,我的思绪已经完全空白了!
我已经编写了完整的Do Until代码,并根据其中的内容运行子例程。
我只是不能正确看到A栏中的值!
答案 0 :(得分:1)
使用Select Case
:
Dim LastRow As Double
Dim wS As Worksheet
Dim i As Double
Set wS = thisworkbook.Worksheets("Sheet1") ' Sheet Name
With wS
LastRow = .Range("A" & .rows.Count).End(xlup).Row
For i = 2 To LastRow
Select Case .Cells(i,1).Value
Case Is = 1
Call SubProc1
Case Is = 2
Call SubProc2
Case Is = "END!?"
Call SubProcEND
Case Else
MsgBox "Value : " & Criteria1 & " not handled!", _
vbCritical + vbOKOnly, "Case not handled"
End Select
Next i
End With 'wS