Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Löschmakro

Löschmakro
08.04.2015 08:03:45
Weingartner
Guten Morgen !
Ich benutze im Moment für meine Datei folgendes Löschmakro !
Private Sub CommandButton1_Click()
Dim JaNein As Variant, wks As Worksheet
JaNein = MsgBox("Sind Sie wirklich sicher ?", vbYesNo, "Sicherheitsabfrage")
If JaNein = 6 Then ' Ja
Set wks = Sheets("Tabelle1")
With ThisWorkbook
.SaveCopyAs "d:" & Left(.Name, Len(.Name) - 4) & Format(Now, "DDMMYY.xls") & ".xlsm"
End With
wks.Range("b8:o8,b10:o10,b13:o13,b15:o15,b18:o18,b20:o20,b23:o23,b25:o25,b28:o28,b30:o30, _
b33:o33,b35:o35,").ClearContents
End If
End Sub
Bis Zeile 5000 sollte die Lösch-Rangereihenfolge beibehalten werden...
geht das einfacher als die die Bereiche jetzt zb.b38:o38,b40:o40,b43:043 usw manuell einzutragen ?
wäre für Lösungsansatz Dankbar !
lg.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschmakro
08.04.2015 09:49:05
selli
hallo weingartner,
steht denn in den zu leerenden bereichen etwas, dass sich von den anderen bereichen unterscheidet?
dann könnte man danach suchen und entsprechend löschen.
gruß
selli

AW: Löschmakro
08.04.2015 09:54:37
ChrisL
Hi
Hier ein Ansatz...
Sub t()
Dim i As Integer
i = 8
Do While i 

cu
Chris

AW: Löschmakro
08.04.2015 10:06:56
Weingartner
Danke!
für den Lösungsansatz..
lg.

AW: Löschmakro
08.04.2015 12:14:55
haw
Hallo,
eine weitere Variante:
Private Sub CommandButton1_Click()
Dim wks As Worksheet, Bereich As Range, i%
If MsgBox("Sind Sie wirklich sicher ?", vbYesNo, "Sicherheitsabfrage") = vbOK Then Exit Sub
Set wks = Sheets("Tabelle1")
With ThisWorkbook
.SaveCopyAs "d:" & Left(.Name, Len(.Name) - 4) & Format(Now, "DDMMYY.xls") & ".xlsm"
End With
For i = 8 To 5000 Step 5
Set Bereich = Union(Bereich, wks.Range("B" & i & ":O" & i))
Set Bereich = Union(Bereich, wks.Range("B" & i + 2 & ":O" & i + 2))
Next i
Bereich.ClearContents
End Sub

Gruß
Heinz

Anzeige
AW: Löschmakro noch ein kleiner Fehler
08.04.2015 12:30:54
Daniel
... in Union dürfen keine noch nicht definierten Zellbereiche verwendet werden.
im ersten Umlauf ist "Bereich" jedoch noch leer, deswegen wird:
Set Berich = Union(Bereich, ...)
einen Fehler verursachen.
die einfachste Abhilfe ist hier, vor der Schleife der Variablen "Bereich" schon mal den ersten Zellbereich direkt zuzuweisen:
Set Bereich = wks.Range("B8:O8,B10:O10")
For i = 13 To 5000 Step 5
Set Bereich = Union(Bereich, wks.Range("B" & i & ":O" & i))
Set Bereich = Union(Bereich, wks.Range("B" & i + 2 & ":O" & i + 2))
Next i
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige