Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Löschen von Zellen per Makro

Löschen von Zellen per Makro
17.04.2005 14:43:35
Zellen
Hallo Leute
Also. Ich habe ne Tabelle mit etwa 2400 Zeilen.
In der einen Spalte gibt es in jeder 8 Zeile eine Summenformel.
Beginnend bei H9. Unter der Summe wird eine Formel eingefügt.
Die nächsten 6 Zellen sollen gelöscht werden. Das wiederholt
sich dann zig mal.
Mein Makro sieht, da ich ein Anfänger bin, so aus.
Range("H10:H16").Select
Selection.ClearContents
Range("H18:H24").Select
Selection.ClearContents
Range("H26:H32").Select
Selection.ClearContents
Range("H34:H40").Select
Selection.ClearContents
Range("H42:H48").Select
usw...
und danach wird das ausgeführt. Ich kopiere die Formel in die Zelle unter der Summe...
Range("H10").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(R[-1]C[-5],Kundendaten!R4C1:R2000C2,2,FALSE)),"""",
VLOOKUP(R[-1]C[-5],Kundendaten!R4C1:R2000C2,2,FALSE))"
Range("H10").Select
Selection.Copy
Range("H18").Select
ActiveSheet.Paste
Range("H26").Select
ActiveSheet.Paste
usw...
Der Quellcode ist dementsprechend sehr sehr lang.
Kann ich da irgendwas anders machen, was den Quellcode kürzt?
Danke im Vorraus
Jeff

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Zellen per Makro
17.04.2005 15:52:00
Zellen
Hallo Jeff,
du könntest diesen Teil zum Beispiel mit einer einfachen Schleife ersetzen.
Range("H10:H16").Select
Selection.ClearContents
Range("H18:H24").Select
Selection.ClearContents
Range("H26:H32").Select
Selection.ClearContents
Range("H34:H40").Select
Selection.ClearContents
Range("H42:H48").Select
----- Schleife -----
Dim i As Integer
For i = 10 To 2400
Range("A" & CStr(i) & ":A" & CStr(i + 6)).ClearContents
Next
Wenn dir der Weg mit den Schleifen klar ist, kommst du auch mit dem Rest klar.
Gruß
Anton
Anzeige
AW: Löschen von Zellen per Makro
17.04.2005 15:59:25
Zellen
hallo jeff
versuch mal so:
(allerdings ungetestet)
Public

Sub t()
Dim L As Long
For L = 10 To 2400 Step 8
Range(Cells(L, 8), Cells(L + 6, 8)).ClearContents
Cells(L, 8).FormulaR1C1 = "deine formel"
Next
End Sub

ransi
AW: Löschen von Zellen per Makro
17.04.2005 16:37:43
Zellen
Alter Schwede... Das ja mal nen Hammer. Es funktioniert einwandfrei...
lol, mehr als 1000 Zeilen Quellcode weniger.
Danke Sehr
Jeff
freut mich wenns klappt, aber....
17.04.2005 16:50:24
ransi
hallo jeff
...hast du auch verstanden wie der code funktioniert ?
ransi
AW: freut mich wenns klappt, aber....
17.04.2005 17:18:08
Jeff
Naja, net wirklich...
AW: Löschen von Zellen per Makro
17.04.2005 16:29:43
Zellen
Hallo Jeff,
wie gefällt Dir das?

Sub Jeff()
Dim laR As Long, i As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 8).End(xlUp).Row
For i = 10 To laR Step 8
Range("H" & i & ":H" & i + 6).ClearContents
Next i
Range("H10").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(R[-1]C[-5],Kundendaten!R4C1:R2000C2,2,FALSE)),"""",VLOOKUP(R[-1]C[-5],Kundendaten!R4C1:R2000C2,2,FALSE))"
For i = 18 To laR Step 8
Range("H" & i).Formula = Range("H10").FormulaR1C1
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige