如果情况属实,如何select单元格

首先,刚开始尝试学习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 

我想知道哪个单元格或与我的variables匹配的单元格的行。 这不是我想要的…….

多谢你们

尝试这个

 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 

我很感激你正在学习代码。 但是,除了获得范围语法正确的两个更好的方法(效率明智)如下所示

  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. 评估

从是否可以填充行号符合一定的标准没有循环的数组?

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

对于= 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 

下一个