【问题标题】:How to select the cell when case is true大小写为真时如何选择单元格
【发布时间】:2016-02-08 15:26:22
【问题描述】:

首先,昨天刚开始尝试学习 Excel 和 VBA....所以请记住。

Private Sub CommandButton2_Click()

For a = 1 To myLastRow
    Select Case ActiveWorkbook.Sheets("Sheet2").Cells(a, 2).Value
        Case Is = myOrderNumber
            ActiveWorkbook.Sheets("Sheet2").Cells(a, 2).Active
        Case False: MsgBox "False"
    End Select
Next a
End Sub

我想知道与我的变量匹配的单元格或单元格的行。这不符合我的要求.......

谢谢大家

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    感谢您正在学习代码。但除了让范围语法正确之外,下面显示了两种更好的方法(效率方面)

    1. 数组

    重新剪辑

    Private Sub CommandButton2_Click()
    Dim myLastRow As Long
    Dim myOrderNumber As Long
    Dim lngCnt As Long
    Dim ws As Worksheet
    Dim X
    
    myOrderNumber = 2
    
    Set ws = ActiveWorkbook.Sheets("Sheet2")
    
    X = ws.Range(ws.[b1], ws.[b10])
    For lngCnt = 1 To UBound(X)
    If X(lngCnt, 1) = myOrderNumber Then MsgBox "True " & lngCnt
    Next
    
    End Sub
    
    1. 评估

    来自Is it possible to fill an array with row numbers which match a certain criteria without looping?

    myOrderNumber = 2
    MsgBox Join(Filter(Application.Transpose(Application.Evaluate("=IF(B1:B10=" & myOrderNumber & ",ROW(B1:B10),""x"")")), "x", False), ",")
    

    【讨论】:

      【解决方案2】:

      试试这个

      Private Sub CommandButton2_Click()
      Dim myLastRow As Long, a As Long, myOrderNumber As Long
      
      myLastRow = 10
      For a = 1 To myLastRow
          With ActiveWorkbook.Sheets("Sheet2")
              If .Cells(a, 2).Value = myOrderNumber Then
                  MsgBox "True " & .Cells(a, 2).Row
              Else
                  Msgbox "False"
              End If
          End With
      Next a
      End Sub
      

      【讨论】:

        【解决方案3】:

        对于 a = 1 到 myLastRow

        With ActiveWorkbook.Sheets("Sheet2")
            If .Cells(a, 2).Value = myOrderNumber Then
                myRow = .Cells(a, 2).Row
                MsgBox "True " & myRow
            Else
                'MsgBox "False "
            End If
        End With
        

        下一个

        【讨论】:

          猜你喜欢
          • 2012-11-26
          • 1970-01-01
          • 2019-01-31
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          • 1970-01-01
          • 1970-01-01
          • 2010-10-21
          相关资源
          最近更新 更多