Я работаю над макросом excel и застрял в одной точке. Нужна помощь, пожалуйста, решить это.
Мне нужно искать 2 строки на листе, и для каждого значения в 1 строке искать значение ячейки во 2 строке. Если диапазон значений в строке 2 равен некоторому условному значению, то из строки 2 выходят проверки и устанавливается флаг как истина. Для этого я использовал два цикла For Each
:
Sub Sendmail ()
For Each cell in Rows("5").Cells.SpecialCells(xlCellTypeConstant)
If cells.Value Like "*@*" Then
Subj = "Fill the Sheet"
Recipient = cell.Offset(0,-3).Value
EmailAddr = cell.Offset.Value
For Each row In Sheet14.Range("O244:AK244").Cells
If Not row = '8.00" Then
found = False
Else
found = True
End If
Next row
If found = False Then
Msg = "Hi " & Recipient & vbCrLf & vbCrLf
Msg = Msg & " Please fill the sheet for this week " & vbCrLf & vbCrLf
Set MItem = Outlook.CreateItem(oIMailItem)
With MItem
.To = EmailAddr
.Subject = Subj
.Body = Msg
.Save
End With
End If
End If
Next
End Sub
Используемая здесь переменная found
определена как логическая, но я не могу правильно ее использовать, и каждый раз, когда выполняется found = false
. Я хочу только после того, как условие верно для строки 2, тогда должна быть создана только почта.