Poniżej znajduje się mój kod, w którym pojawia się błąd. Zaznaczyłem linię, na której błąd występuje pogrubioną czcionką (tj. ** na początku i na końcu linii **).
Konkretna część kodu, na którym pojawia się błąd, to: I (zakres („M5: M78”) nie jest zerowy)
Jeśli zakres jest obiektem, dlaczego nie mogę stwierdzić, że ten zakres (powyżej) nie jest zerowy?
Option Explicit
Sub ResetWorksheetMonth1()
Dim i As Long
Dim LastRow As Long
LastRow = Range("X" & Rows.Count).End(xlUp).Row
With Worksheets("Analysis Worksheet").Activate
For i = 5 To LastRow
**If Range("M" & i).Value = 0 And (Range("M5:M78") Is Not Null) And Range("N" & i).Value > 0 And Range("O" & i).Value > 0 And Range("P" & i).Value > 0 _
And Range("Q" & i).Value > 0 And Range("R" & i).Value > 0 And Range("S" & i).Value > 0 And Range("T" & i).Value > 0 _
And Range("U" & i).Value > 0 And Range("V" & i).Value > 0 And Range("W" & i).Value > 0 And Range("X" & i).Value > 0 Then**
Range("M" & i).Value = Range("N" & i).Value
Range("N" & i).Value = Range("O" & i).Value
Range("O" & i).Value = Range("P" & i).Value
Range("P" & i).Value = Range("Q" & i).Value
Range("Q" & i).Value = Range("R" & i).Value
Range("R" & i).Value = Range("S" & i).Value
Range("S" & i).Value = Range("T" & i).Value
Range("T" & i).Value = Range("U" & i).Value
Range("U" & i).Value = Range("V" & i).Value
Range("V" & i).Value = Range("W" & i).Value
Range("W" & i).Value = Range("X" & i).Value
Range("X" & i).Value = Range("Z" & i).Value
Range("Y" & i).Formula = "=SUM(" & Range(Cells(i, 13), Cells(i, 24)).Address(False, False) & ")"
Range("Z" & i).Value = Null
Range("AL" & i).Formula = "=SUM(" & Range(Cells(i, 26), Cells(i, 37)).Address(False, False) & ")"
End If
Next i
microsoft-excel
vba
HeatherD
źródło
źródło
And Not IsEmpty(Range("M" & i).Value)
na końcu instrukcji If.Odpowiedzi:
Jeśli próbujesz tylko sprawdzić, czy wszystkie komórki w tym zakresie są puste, możesz użyć
Pamiętaj, że to, czego próbujesz, sprawdzi, czy cały zakres jest równy zeru, a nie zapętlisz i sprawdzisz zawartość każdej komórki w tym zakresie.
źródło