Hvordan sætter jeg min VBA op så den sletter rækken, hvis cellen i kolonne a er nul? (nul og ikke blank)
VBA - Slet rækker hvis celle er nul
Der er en funktion der hedder entirerow, så noget i stil med:
Sub sletlorterække
If range("A1") = "0" then
Activecell.entirerow.delete
End if
End sub
Og så med en variabel der kører på
For i = 1 to 1000
Som du sætter ind for 1-tallet i range.
Så er du kørende tror jeg :-)
Jeg er på telefonen og kan ikke teste
Så vidt jeg kan se, så er det nemmest at slette nedefra, da et normalt for-next loop ikke tager højde for at rækkerne rykker op, når man sletter en række. Hvis du sætter n lig med, hvor mange rækker det skal køre over, så skulle du gerne kunne bruge nedenstående:
Sub deleterows()
Dim i As Integer
Dim n As Integer
n = 1000
For i = n To 1 Step -1
If Cells(i, 1) = "0" Then
Cells(i, 1).EntireRow.Delete
End If
Next
End Sub
Tusind tak. Det virker.
Nu vil jeg i stedet for at slette alle rækker ned nul i kolonne a, så gerne slette alle rækker, hvor kolonne a er mellem 1.000 og -1.000. Hvordan skriver jeg det?
Sub deleterows()
Dim i As Integer
Dim n As Integer
n = 1000
For i = n To 1 Step -1
If Cells(i, 1) <1000 and >-1000 Then
Cells(i, 1).EntireRow.Delete
End If
Next
End Sub
Eller
Sub deleterows()
Dim i As Integer
Dim n As Integer
n = 1000
For i = n To 1 Step -1
If Cells(i, 1) <1000 and Cells(i, 1) >-1000 Then
Cells(i, 1).EntireRow.Delete
End If
Next
End Sub
En af dem virker :-)