Mam tabelę danych, w której kolumna L ma formułę vlookup. W wierszach, w których kolumna L (tzn. Vlookup zwraca „# N / A”), chciałbym wyczyścić zawartość ośmiu komórek po lewej stronie (kolumny D do K). Aby to zrobić, chciałbym utworzyć makro VBA. Każda pomoc jest bardzo ceniona.
Oto mój kod teraz:
Dim r As Range
Dim i As Long
ActiveWorkbook.Worksheets("1yr Matcher").Select
For i = 7 To 500
For Each r In Range(Cells(10, i), Cells(Cells(ActiveSheet.Rows.Count, i).End(xlUp).Row, i))
If IsError(r) Then
If r >= 0 Then r.Offset(, -1).Resize(, -8).ClearContents
End If
Next r
Next
Odpowiedzi:
Myślę, że problem jest w twoim
For
sprawozdania. W tej chwili wartość dlar
iteruje przez {G1
,G2
, ...,G10
} i wtedy {H1
, ...,H10
} i aż do {SF1
, ...SF10
}. Wygląda na to, że chcesz przejść przez wszystkie komórki wL7:L500
więc dlaczego nie zrobić tego bezpośrednio?źródło
Spróbuj:
źródło