VBA - Slet rækker hvis celle er nul

#1| 0

Hvordan sætter jeg min VBA op så den sletter rækken, hvis cellen i kolonne a er nul? (nul og ikke blank)

03-10-2012 15:55 #2| 0

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

Redigeret af hermod d. 03-10-2012 15:55
03-10-2012 16:22 #3| 0

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

08-10-2012 12:12 #4| 0
OP

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?

08-10-2012 12:20 #5| 0

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 :-)

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar