Я пытаюсь написать некоторый VB-код для заполнения значения в ячейке, если выполняется какое-то условие:
Private Sub CommandButton1_Click()
Dim targetRange As range
Dim isBBset As Boolean
Dim isDiagnosisSet As Boolean
Dim isDiureticSet As Boolean
Dim rowCounter As Long
rowCounter = 1
Set targetRange = Union(range("AC:AE"), range("AH:AL"), range("AP:AS"), range("AW:BA"), range("BE:BH"))
targetRange.Font.Bold = True
For Each Row In targetRange.Rows
If rowCounter > 1 And rowCounter <= 201 Then
isBBset = False
For Each cell In Row.Cells
Dim stringVal As String
If IsNumeric(cell.Value) = True Then
stringVal = CStr(cell.Value)
Else
stringVal = cell.Value
End If
If stringVal = "19" Or stringVal Like "19+*" Or stringVal Like "*+19+*" Or stringVal Like "*+19" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
ElseIf stringVal = "20" Or stringVal Like "20+*" Or stringVal Like "*+20+*" Or stringVal Like "*+20" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
ElseIf stringVal = "21" Or stringVal Like "21+*" Or stringVal Like "*+21+*" Or stringVal Like "*+21" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
ElseIf stringVal = "22" Or stringVal Like "22+*" Or stringVal Like "*+22+*" Or stringVal Like "*+22" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
ElseIf stringVal = "23" Or stringVal Like "23+*" Or stringVal Like "*+23+*" Or stringVal Like "*+23" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
ElseIf stringVal = "24" Or stringVal Like "24+*" Or stringVal Like "*+24+*" Or stringVal Like "*+24" Then
range("BJ" & rowCounter).Value = 0
isBBset = True
End If
Next cell
If isBBset = False Then
range("BJ" & rowCounter).Value = 1
End If
End If
rowCounter = rowCounter + 1
Next Row
End Sub
Я получаю целевой диапазон по объединению, а затем зацикливаюсь на каждой строке.Я ожидаю, что когда я сделаю Row.Cells
, я получу все ячейки из моего диапазона для этого ряда, но я получу ячейки только из первого диапазона, который я положил в объединение.Как получить отдых?