保持91';VBA Excel中的错误

保持91';VBA Excel中的错误,vba,excel,Vba,Excel,我的代码有91个错误,似乎什么都不起作用 下一个代码用于根据另一个表识别包含LOW、MEDIUM、HIGH的每一行,问题是我的数据当时不包含LOW,我想我需要添加一个IF,这样代码就可以开始搜索中值,但我不知道如何做 循环Do…循环直到(条件)至少运行一次,并且在循环结束时检查条件。您可以使用Do Until(condition)…LoopLoop代替。在这种情况下,条件在开始时被检查,如果它已经为真,那么循环将不会运行 Private Sub CommandButton1_Click()

我的代码有91个错误,似乎什么都不起作用

下一个代码用于根据另一个表识别包含LOW、MEDIUM、HIGH的每一行,问题是我的数据当时不包含LOW,我想我需要添加一个IF,这样代码就可以开始搜索中值,但我不知道如何做



循环
Do…循环直到(条件)
至少运行一次,并且在循环结束时检查条件。您可以使用
Do Until(condition)…Loop
Loop代替。在这种情况下,条件在开始时被检查,如果它已经为真,那么循环将不会运行

Private Sub CommandButton1_Click()

Dim DataCalc_LOW As Integer
Dim DataCalc_MEDIUM As Integer
Dim DataCalc_HIGH As Integer

DataToCalc_LOW = Worksheets("Random Generator").Range("AL16").Value
DataToCalc_MEDIUM = Worksheets("Random Generator").Range("AL17").Value
DataToCalc_HIGH = Worksheets("Random Generator").Range("AL18").Value

Dim x As Integer
Dim y As Integer

Range("I14").Select
Range(Selection, Selection.End(xlDown)).Select

'x = 0

Do
x = x + 1
Selection.Find(What:="LOW", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False,                 
SearchFormat:=False).Activate
With ActiveCell
.Interior.ColorIndex = 44
End With
ActiveCell.Select
Selection.Offset(0, 0).Select
Range(Selection, Selection.End(xlDown)).Select

Loop Until x = DataToCalc_LOW

Range("I14").Select
Range(Selection, Selection.End(xlDown)).Select

'y = 0

Do
y = y + 1
Selection.Find(What:="MEDIUM", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False,                 
SearchFormat:=False).Activate
With ActiveCell
.Interior.ColorIndex = 44
End With
ActiveCell.Select
Selection.Offset(0, 0).Select
Range(Selection, Selection.End(xlDown)).Select

Loop Until y = DataToCalc_MEDIUM

Range("I14").Select
Range(Selection, Selection.End(xlDown)).Select

'Z = 0
Do
Z = Z + 1
Selection.Find(What:="HIGH", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False,         
SearchFormat:=False).Activate
With ActiveCell
.Interior.ColorIndex = 44
End With
ActiveCell.Select
Selection.Offset(0, 0).Select
Range(Selection, Selection.End(xlDown)).Select

Loop Until Z = DataToCalc_HIGH

For i = 15 To 5000
cuenta = WorksheetFunction.CountIf(Range("F15:F500"), Cells(i, "F"))
If cuenta = 1 Then
    Cells(i, "I").Interior.ColorIndex = 44
End If
Next
'ActiveSheet.Protect Password:="QC"

End Sub