Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
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

Zeilen markieren und löschen

Zeilen markieren und löschen
29.01.2014 19:50:46
wolf
Hallo Excelfans, ganz besonders hary,
hary hat mir ein tolles Makro um Zeilen zu löschen geschrieben. Dieses habe ich jetzt ausführlich getestet und funktioniert mit einer Ausnahme: wenn in a2 und a4 je ein Wert steht und dazwischen je eine Leerzeile, haut er auf einen Schlag 4 Zeilen weg. Dieses kann nicht sein, da sonst Werte verloren gehen.
https://www.herber.de/bbs/user/89024.xls
Hier die Bitte an alle, ganz besonders an hary nochmal darüber schauen, vielleicht fällt jemand etwas auf.
Bei dieser Gelegenheit noch eine andere Frage. Ich arbeite mit einer Datenbank mit dessen Script kann ich auf das o.g. Sheet zugreifen und die Daten daraus importieren.
Besteht die Möglichkeit mittels dem Datenbankscript das Makro in dem Sheet auszuführen. Was für einen Pfad muß man da angeben?
Vielen Dank
wolf

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen markieren und löschen
30.01.2014 06:35:09
hary
Moin wolf
Zum 1.Problem.
With Sheets("Tabelle1")
If .Cells(2, 1) = "" Then Exit Sub 'pruefen ob in A2 was drinsteht
.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1).EntireRow.Delete
Do While .Cells(2, 1) = ""
If .Cells(.Rows.Count, 1).End(xlUp).Row = 1 Then
Exit Do
End If
.Rows(2).Delete
Loop
.Range("M2") = Application.CountA(.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1))
End With

beim zweiten passe ich erstmal.
gruss hary

AW: Zeilen markieren und löschen
30.01.2014 20:29:38
wolf
Hallo hary,
danke für Deine Mühe. Ich kann die Korrektur leider erst am Wochenende testen, da ich bis Freitagabend noch beruflich unterwegs bin. Allerdings ist mir noch eine andere Frage eingefallen: In dem Sheet sind auch u.a. Blöcke mit über 500 Einträgen und mehr drin. Kann man es so einrichten, dass bei diesen Blöcken jeweils nach 500 Einträgen automatisch eine Leerzeile einfügt wird? Also, nur bei Blöcken größer 500.
Wegen der Korrektur melde ich mich nochmal am Wochenende.
Danke
wolf

Anzeige
AW: Zeilen markieren und löschen
31.01.2014 07:38:31
hary
Moin wolf
So nu teste mal am WE. Beide Mappen muessen geoeffnet sein!!
Sub starten()
'--Makro in die Startmappe
'--Mappenname und Makroname anpassen
Application.Run ("'89024.xls'!Makro1") 'startet das Makro in der anderen geoeffneten Mappe
End Sub

In die Loeschmappe
Sub Makro1()
'---------Makro in der Loeschmappe --------------
'----Mappenname und Blattname anpassen!!!!!!-----
With Workbooks("89024").Sheets("Tabelle1")
If .Cells(2, 1) = "" Then Exit Sub 'pruefen ob in A2 was drinsteht
.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1).EntireRow.Delete
Do While .Cells(2, 1) = ""
If .Cells(.Rows.Count, 1).End(xlUp).Row = 1 Then
Exit Do
End If
.Rows(2).Delete
Loop
.Range("M2") = Application.CountA(.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1))
If .Range("M2") > 500 Then .Rows(502).Insert Shift:=xlDown 'Leerzeile einfuegen
End With
End Sub

gruss hary

Anzeige
AW: Zeilen markieren und löschen
31.01.2014 20:50:08
wolf
Hallo Hary,
habe gleich nach meiner Rückkehr losgetestet.
Die Korrektur zu 1) haut hin, er löscht jetzt die Zeilen korrekt.
Das Leerzeilen einfügen haut auch hin. Nur mit dem zählen, da klappt es noch nicht. Wenn der gesamte Block z.B. 1700 Zeilen hat, setzt er 1700 in M2, trotz Leerzeile. Es sollte aber 500 in M2 stehen, sonst komme ich mit dem Export ins schleudern.
Bezüglich Makrostart, dieses teste ich am WE in aller Ruhe.
Danke und bis denne
Gruß
wolf

AW: Zeilen markieren und löschen
01.02.2014 07:52:47
hary
Moin
Dann ersetz mal zwischen Loop und end with. Ungetestet.

If Application.CountA(.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1)) > 500 Then
.Rows(502).Insert Shift:=xlDown 'Leerzeile einfuegen
End If
.Range("M2") = Application.CountA(.Cells(2, 1).Resize(.Cells(1, 1).End(xlDown).Row - 1))

gruss hary

Anzeige
AW: Zeilen markieren und löschen
01.02.2014 20:30:19
wolf
Hallo Hary,
alle Korrekturen (auch die letzte ungetestete) klappen astrein. Das einzige wo ich noch rumbasteln muß ist der Makrostart in der Datenbank. Aber ich habe ja noch den Sonntag. Sollten alle Stricke reissen würde ich mich nochmal melden.
Nochmals Danke und schönen Sonntag
wolf

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige