VBA代码,用于根据单元格A中的值在任何列中运行子例程

时间:2017-03-17 14:27:30

标签: excel vba excel-vba

我尝试使用Do Until来运行一列数据(可以是工作表中的任何列),并根据A列中的值执行某些任务。

A栏结果是1,2或END !?我希望运行任何列并根据A中的值执行例程,直到A =" END中的值为止??"

我无法使用偏移功能,因为Do Until将每个月移动一列。

基本上我需要代码总是检查A列中的值,并根据值执行三个函数中的一个,我的思绪已经完全空白了!

我已经编写了完整的Do Until代码,并根据其中的内容运行子例程。

我只是不能正确看到A栏中的值!

1 个答案:

答案 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