Я работаю над макросом excel и застрял в одной точке. Нужна помощь, чтобы разрешить это.excel vba вложен в каждую петлю
Мне нужно найти 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, тогда должна быть создана только почта.
я смотрел бы на линии «Если не грести =„8,00" Тогда“, прежде всего, начать с одного цитата и закрыть двойную кавычку. Если это число, тогда кавычки не нужны, если в тексте используются двойные кавычки с обеих сторон. – ChrisProsser