| |
| Blechfertigung: Leitfaden zur Materialauswahl, ein Fachartikel
|
Autor
|
Thema: Zeilen löschen über VBA code (80252 mal gelesen)
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 13:40 <-- editieren / zitieren --> Unities abgeben:
Hi ich würde gerne alle Zeilen entfernen bei dennen in spalte A "" (nichts/leere zeile) oder irgendwo ein ? vorkommt Kann mir da jemand helfen hab mit experimentier: Public Sub tr_Remove_Fragezeichen() Range("A:A").Replace What:="?", _ Replacement:="", _ LookAt:=xlPart End Sub
und woltle so erstmal die ? entfernen ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 08. Feb. 2012 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
Code: Sub ZeilenLoeschen() Dim Zeile% Dim xFor Zeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(Zeile, 1) = "" Then x = 1 'wenn Zelle leer If Cells(Zeile, 1) = "?" Then x = 1 'wenn Zelle =? If x = 1 Then ActiveSheet.Rows(Zeile & ":" & Zeile).Delete x = 0 End If Next End Sub
Ist korrigiert ;-)Ja, sowas kommt vor wenn ma googelt, guttenbergt, den Code-Schnippsel anpasst und man zuletzt meint, Zeile ist verständlicher als Zaehler ;-) auf Cad.de gibt es noch kein Option Explicit ;-) [runkelruebe-edit: damit meinte ich auch eher den TO, der dann nicht nur weiß, DASS etwas falsch ist, sondern auch den Hinweis dazu hat, WAS das sein könnte ;-) [/rredit]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 08. Feb. 2012 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 14:41 <-- editieren / zitieren --> Unities abgeben:
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 14:44 <-- editieren / zitieren --> Unities abgeben:
Hi Thomas bei deinem vba code bleibt er bei XXXXXX hängen (anwendungs oder objekt defenierter fehler) Sub ZeilenLoeschen() Dim Zeile% Dim x For Zaehler = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 XXXXXXXX If Cells(Zeile, 1) = "" Then x = 1 'wenn Zelle leer If Cells(Zeile, 1) = "?" Then x = 1 'wenn Zelle =? If x = 1 Then ActiveSheet.Rows(Zeile & ":" & Zeile).Delete x = 0 End If Next End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 08. Feb. 2012 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
Tausche ne Zeile weiter oben Zaehler gegen Zeile, das wird Thomas nur in den editor getippert haben Solche Fehler fallen einem besser auf, wenn man Option Explicit gesetzt hat. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 08. Feb. 2012 14:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 08. Feb. 2012 14:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 15:37 <-- editieren / zitieren --> Unities abgeben:
So habe nun den code ersetzt durch Sub ZeilenLoeschen() Dim Zeile% Dim x For Zeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(Zeile, 1) = "" Then x = 1 'wenn Zelle leer If Cells(Zeile, 1) = "?" Then x = 1 'wenn Zelle =? If x = 1 Then ActiveSheet.Rows(Zeile & ":" & Zeile).Delete x = 0 End If Next End Sub Leider passiert nichts :-) die Zeilen bleiben noch bestehen auch wenn ein ? vorhanden ist und auch wenn nichts in Spalte A steht. Besten Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 08. Feb. 2012 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 08. Feb. 2012 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
Zur Info: Code kopiert, in leere Mappe eingefügt, Beispieldaten mit leeren Zellen, mit einem Fragezeichen und mit beliebigen anderen Zeichen gefüllten Zellen erzeugt, Code laufen gelassen, klappt. Hast Du den Code auch bezogen auf das Arbeitsblatt richtig abgelegt? Sonst arbeitet der womöglich im Nirgendwo, was zwangsläufig keine Ergebnisse zeitigt. ------------------ Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 16:06 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 08. Feb. 2012 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
Dann stimmen irgendwelche Deiner geposteten Ausgangsbedingungenn nicht Der code als solcher tut das, was er nach meinem Verständnis tun soll. Versuch am besten selber, Dir die Kommentare hinter die einzelnen Zeilen zu schreiben, soll heißen, analysier Zeile für Zeile, was der Code machen soll. Tipp: Stell den Mauszeiger auf das Wort Zeile, dann siehst Du, welchen Wert diese Variable hat im Maushint und geh mit F8 schrittweise durch. Wahrscheinlich kommst Du dann drauf, warum es in Deiner Mappe nicht funktioniert. Schließlich wolltest DU ja extra ein VBA-Makro, damit Du lernst, wie man einen button bastelt ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 08. Feb. 2012 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 16:13 <-- editieren / zitieren --> Unities abgeben:
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 08. Feb. 2012 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für Tastenchef
|
Tastenchef Mitglied Techniker
Beiträge: 35 Registriert: 31.01.2012 Win xp WSCAD 4.0 bis 5.5
|
erstellt am: 08. Feb. 2012 16:22 <-- editieren / zitieren --> Unities abgeben:
|