VBA excel,如果单元格(计数器,1)="text" 那么

VBA excel, if Cells(counter,1)="text" then

我正在尝试执行仅在特定单元格包含特定文本时才激活的 if 语句。有问题的单元格需要根据一个会改变的整数动态改变,到目前为止我尝试了多种方法但似乎没有任何效果。

If Cells(counter, 1).text = "text" then

If Cells(counter, 1).value = "text" then

If Range(Cells(counter, 1)).text = "text then

If Range(Cells(counter, 1)).value = "text then

这似乎是一个简单的过程,有人有解决方案吗?

谢谢,Sporre

编辑:

Private Sub CheckBox_Change() 
If CheckBox.Value = True Then 
   'do stuff 
End If 
ElseIf CheckBox.Value = False Then 
    If Cells(1, counter).Value = "text1" Or Cells(1, counter).Value = 
    "text2" Or Cells(1, counter).Value = "text3" Then
       'do stuff 
    End If 
End If 
End Sub

这是我收到错误消息的地方 "Application-definded or Object-defined error"。

编辑 2: 问题是我试图在几个不同的潜艇中调用计数器,但它不是 public 整数。感谢您的帮助!

这个行得通

if (Trim(ThisWorkbook.Worksheets("Sheet1").Cells(counter, 1).Value)="text") Then

这应该有效:

If Worksheets("Name of your worksheet").Cells(counter, 1).Value)="text" Then
    'execute some code
End if

您不能先使用 End If 然后再使用 and ElseIf。第一个完全结束 If 语句,这意味着您将不得不开始一个新的语句。根据您的编辑,我认为您的代码应如下所示:

Private Sub CheckBox_Change()
    If CheckBox.Value = True Then
       'do stuff
    ElseIf CheckBox.Value = False Then
        If (Counter < 1) Then
            'Show an error if the counter is less than 1
            MsgBox "Error: Counter less than 1", vbCritical
        ElseIf Cells(1, counter).Value = "text1" Or Cells(1, counter).Value = "text2" Or Cells(1, counter).Value = "text3" Then
           'do stuff
        End If
    End If
End Sub