Я пытаюсь создать al oop на основе данных в столбце L. Данные в столбце L отформатированы как текст и содержат даты. Если совпадение найдено, вся строка должна быть выделена желтым цветом.
Sub Forn()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Dim strSearchText As String
strSearchText = Format(DateAdd("m", 2, Now()), "yyyymm")
Dim rngSearchArea As Range
Set rngSearchArea = ws.Range(Range("L10"), ws.Range("L" & ws.Range("L:L").Cells.Count).End(xlUp))
Dim strFirstFound As String
Dim rngCurrentFound As Range
Set rngCurrentFound = ws.Range("L10")
Set rngCurrentFound = rngSearchArea.Find(What:=strSearchText, After:=rngCurrentFound, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False)
If rngCurrentFound Is Nothing Then
MsgBox "INGEN TREFF"
Exit Sub
End If
rngCurrentFound.Resize(1, 16).Offset(0, -11).Interior.ColorIndex = 6
strFirstFound = rngCurrentFound.Address
Dim rngSource As Range
Dim rngNextFound As Range
Do
Set rngNextFound = rngSearchArea.FindNext(rngCurrentFound)
If rngNextFound.Row > rngCurrentFound.Row Then
rngCurrentFound.Resize(1, 16).Offset(0, -11).Interior.ColorIndex = 6
Else
Set rngSource = ws.Range(rngCurrentFound, ws.UsedRange.Cells(ws.UsedRange.Cells.Count))
End If
Set rngCurrentFound = rngSearchArea.FindNext(rngCurrentFound)
Loop While rngCurrentFound.Address <> strFirstFound
End Sub
Я получаю ошибку времени выполнения «1004»: метод «Диапазон» объекта «_Worksheet» не выполнен .
Тот же самый код работал у меня вчера, и я совершенно не понимаю, что здесь нужно изменить.
UPD: ошибка вызвана запуском Макрос из PERSONAL.XLSB -
Set ws = ThisWorkbook.Worksheets(1)
больше не работает должным образом.