Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Löschmakro

Forumthread: 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.

Anzeige

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

Anzeige
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
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige