Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zum Zeilen löschen

Makro zum Zeilen löschen
25.01.2007 17:18:19
Gordon
Moin, moin,
ich habe ein Tabellenblatt, wo sich eine Tabelle mit Daten befindet. In einer bestimmten Spalte, z.B. Spalte C, stehen Zahlen. Nun möchte ich gerne alle Zeilen per Knopfdruck löschen, die den Wert "99" in der Spalte C haben. Kann mir da jemand helfen?
Gruß
Gordon

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Zeilen löschen
25.01.2007 17:24:21
IngGi
Hallo Gordon,
das geht zum Beispiel so:

Sub test()
Dim ze As Long
With ThisWorkbook.Sheets("Tabelle1") 'anpassen
   For ze = .Range("C65536").End(xlUp).Row To 1 Step -1
      If ze = 99 Then ze.EntireRow.Delete
   Next 'ze
End With
End Sub
Gruß Ingolf
Anzeige
AW: Makro zum Zeilen löschen
25.01.2007 17:43:47
Gordon
Danke schon mal für die schnelle Antwort. Aber wie verbinde ich das nun mit 'nem Button?
AW: Makro zum Zeilen löschen
25.01.2007 17:59:51
IngGi
Hallo Gordon,
kommt drauf an, was das für ein Button sein soll, bzw. wo du den Button haben willst.
CommandButton auf dem Tabellenblatt:
Menü Ansicht-Symbolleisten-Steuerelementtoolbox-Klick auf "Befehlsschaltfläche".
Wenn du nun mit dem Mauszeiger auf das Tabellenblatt gehst, wird der Mauszeiger zu einem Kreuz. Nun mit gehaltener linker Maustaste nach unten rechts ziehen und bei gewünschter Größe des CommandButtons loslassen. Anschließend ein Rechtsklick auf den CommandButton und Menüpunkt "Code anzeigen" anklicken. Makro in das große Fenster oben rechts kopieren, Fenster schließen. Im Excelblatt jetzt noch ein Klick auf das ganz linke Symbol auf der eingeblendeten Symbolleiste. Jetzt kannst du die Symbolleiste wieder schließen.
Symbol auf Symbolleiste:
Mit Alt+F11 in den VBA-Editor gehen. Dort über Menü Einfügen-Modul. Makro in das große Fenster oben rechts kopieren und Editor schließen. In Excel über Menü Ansicht-Symbolleisten-Anpassen-Reiter "Befehle"-in "Kategorie" den Punkt "Makros" auswählen-gelben Smiley mit linker Maustaste auf deine Symbolleiste ziehen-Klick auf "Auswahl ändern" und dann auf "Makro zuweisen"-Makro auswählen-OK.
Gruß Ingolf
Anzeige
AW: Makro zum Zeilen löschen
25.01.2007 18:35:48
Gordon
Genau,
das mit dem CommandButton wollte ich halt machen, aber wenn ich den Code dort einfüge kommt immer eine Fehlermeldung mit "Fehler beim kompelieren: Ungültiger Bezeichner".
AW: Makro zum Zeilen löschen
ransi
Hallo Gordon
Der code ist fehlerhaft.
Pack diesen hier mal in ein Modul.
Die Zuweisung dann wie beschrieben:


Option Explicit
Public Sub test()
Dim ze As Long
With ThisWorkbook.Sheets("Tabelle1"'anpassen
   For ze = .Range("C65536").End(xlUp).Row To 1 Step -1
      If Cells(ze, 3) = 99 Then Rows(ze).Delete
   Next 'ze
End With
End Sub


ransi
Anzeige
AW: Makro zum Zeilen löschen
25.01.2007 20:24:55
Gordon
Super,
danke schön. Das klappt nun wunderbar....
Cu
Gordon
AW: Makro zum Zeilen löschen
26.01.2007 17:28:17
Gordon
Ok,
zu früh gefreut! :(
Der Code ging zwar so auf einem leeren, neuen Tabellenblatt ohne Probleme, aber nun wo ich ihn bei mir in meier richtigen Datei einsätze geht gar nichts. Das Tabellenblatt heißt "Spielplan Doppel", alle Zeilen mit dem Wert =>99 sollen gelöscht werden und in der Spalte "H" soll gesucht werden. Das ganze nun mit einem Button verbunden gibt das:

Private Sub CommandButton1_Click()
Dim ze As Long
With ThisWorkbook.Sheets("Spielplan Doppel")
For ze = .Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(ze, 3) >= 99 Then Rows(ze).Delete
Next 'ze
End With
End Sub

Leider kommt dann immer ein Laufzeitfehler mit der Angabe der Zeile "With ThisWorkbook.Sheets("Spielplan Doppel")". Kan mir jemand da nochmal bitte helfen?
Danke
Anzeige
Das kommt ganz darauf an, wo das Makro...
27.01.2007 01:48:55
Luc:-?
...steht, Gordon.
Wenn es sich immer noch in deiner neuen leeren Mappe befindet, kann es mit ThisWorkbook nicht fkt, denn die hat sicher dieses Blatt nicht → ActiveWorkbook verwenden! Der Titel sollte so zwar keine Probleme bereiten, empfehle aber trotzdem, unnötige Leerzeichen in Titeln zu vermeiden. Namen nach der alten, bewährten Namenskonvention sind ohnehin sicherer. Manche Pgmierer vergessen nämlich gern diesen Umstand und setzen die für solche Namen bei Pfadangaben in xl erforderlichen Apostrophs nicht.
Gruß Luc :-?
AW: Das kommt ganz darauf an, wo das Makro...
27.01.2007 18:51:17
Gordon
Leider geht das so anscheinend mit "ActiveWorkbook" auch nicht.
Also ich möchte gerne per Button alle Zeilen löschen, die in der Spalte "H" eine "99" oder höher enthalten. Mit dem dran stehenden Code geht es leider nicht. Leider auch nicht, wenn ich das "ThisWorkbook" durch "ActiveWorkbook" ersetze. Hat jemand noch'ne Idee? Das Tabellenblatt nennt sich "Spielplan Doppel".

Private Sub CommandButton1_Click()
Dim ze As Long
With ThisWorkbook.Sheets("Spielplan Doppel")
For ze = .Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(ze, 3) >= 99 Then Rows(ze).Delete
Next 'ze
End With
End Sub

Anzeige
AW: Das kommt ganz darauf an, wo das Makro...
27.01.2007 20:02:25
Hubert
"If Cells(ze, 3) &gt= 99 Then Rows(ze).Delete"
Cells(ze, 3) ist aber nicht Spalte H, das musst du schon anpassen.
mfg Hubert
AW: Das kommt ganz darauf an, wo das Makro...
28.01.2007 12:17:53
Gordon
Ja,
inwiefern anpassen? Wo denn? Ich habe den Code doch auch nur hier im Forum so zugeschickt bekommen. Steht die "3" für Spalte "C" und "8" dann für Spalte "H"?
Bitte um Hilfe....außerdem fängt er shcon bei der Zeile "With ThisWorkbook.Sheets("Spielplan Doppel")" an zu meckern? Liegt das auch an der falschen Zeile?
AW: Das kommt ganz darauf an, wo das Makro...
29.01.2007 14:00:05
IngGi
Hallo Gordon,
wenn du mit einem CommandButton auf dem Tabellenblatt arbeitest, muss der Code ja ohnehin in das Modul des betreffenden Tabellenblattes. Du klickst also rechts auf deinen CommandButton, dann auf "Code anzeigen". Daraufhin öffnet sich der VBA-Editor mit dem Modul des Tabellenblattes. Wenn sich dort bereits ein Makro mit dem Namen
Private Sub CommandButton1_Click()
befindet, musst du dieses Löschen. Anschließend kopierst du das folgende Makro dort hinein und versuchtst es einmal damit.

Private Sub CommandButton1_Click()
Dim ze As Long
For ze = Me.Range("H65536").End(xlUp).Row To 1 Step -1
   If Cells(ze, 8) >= 99 Then Rows(ze).Delete
Next 'ze
End Sub
Gruß Ingolf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige