|
Makro - Schleife - Leere Zeilen löschen
|
| Autor |
Nachricht |
Demandred83
Gast
Verfasst am: 20. Feb 2006, 12:04 Rufname:
|
|
| |
|
Guten Morgen,
ich habe ein kleines Problem mit einer Datenreihe, und zwar bekomme ich nach dem Download in Spalte A Datumsangabe und daneben in Spalte B die dazugehörigen Werte. Da die Daten aber nur Quartalsweise vorliegen habe ich jetzt mehrere Datumsangaben ohne Werte.
Diese Zeilen möchte ich gerne mithilfe eines Makros löschen.
Im Prinzip soll die Schleife die Spalte B durchsuchen, und wenn in B kein Wert steht die ganze Zeile löschen.
Bin leider VBA - Anfänger und kriege das ganze nicht in die richtige Form. Bin dankbar für jede Hilfe.
Dank Euch
Viele Grüße
*Carlos
|
|
Case
Gast
Verfasst am: 20. Feb 2006, 12:08 Rufname:
|
| |
| |
|
Hallo,
lass mal folgendes Makro rennen:
| Code: | Option Explicit
Public Sub Leer_Weg()
Application.ScreenUpdating = False
Range("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
End Sub |
Servus
Case
|
|
Case
Gast
Verfasst am: 20. Feb 2006, 12:19 Rufname:
|
|
| |
|
Hallo,
oder wenn du es zum Probieren mit Schleifenvariante möchtest:
| Code: | Option Explicit
Public Sub LeerzeilenLoeschen()
Dim lngLetzte As Long
Dim lngZeile As Long
Application.ScreenUpdating = False
lngLetzte = IIf(IsEmpty(Range("B65536")), Range("B65536").End(xlUp).Row + 1, 65536)
For lngZeile = lngLetzte To 1 Step -1
If Cells(lngZeile, 2) = "" Then
Cells(lngZeile, 2).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End Sub |
Servus
Case
|
|
Demandred83
Gast
Verfasst am: 20. Feb 2006, 12:20 Rufname:
|
|
| |
|
HI..
funktioniert leider nicht.
Hier mal ein Ausschnitt aus der Tabelle:
Spalte A Spalte B
30.06.1992 404429996032,00
31.07.1992
31.08.1992
30.09.1992 416899989504,00
31.10.1992
30.11.1992
31.12.1992 432410001408,00
31.01.1993
28.02.1993
31.03.1993 401299996672,00
30.04.1993
31.05.1993
30.06.1993 417739997184,00
Hoffe das hilft weiter.
|
|
Case
Gast
Verfasst am: 20. Feb 2006, 12:24 Rufname:
|
| |
| |
|
Hallo,
also wenn die Zellen in Spalte B leer sind, dann müsste das eigentlich funzen.
Servus
Case
|
|
Demandred83
Gast
Verfasst am: 20. Feb 2006, 12:31 Rufname:
|
|
| |
|
Hi Case,
das Schleifen Makro funktioniert super. Besten Dank erstmal.
Wenn du noch ein bisschen Zeit hast wärs super wenn du mir eine kleine Erläuterung zu dem Makro geben könntest, würde gerne verstehen was du da gemacht hast, dann kann ich es beim nächsten mal vielleicht selber.
Dank Dir.
Viele Grüße *Carlos
|
|
Case
Gast
Verfasst am: 20. Feb 2006, 12:48 Rufname:
|
|
| |
|
Hallo,
hier mal mit Erklärung:
| Code: | ' Variablen MÜSSEN deklariert werden (beugt Fehlern in der Variablenvergabe vor)
Option Explicit
Public Sub LeerzeilenLoeschen()
' Die Variable lngLetzte wird als Typ Long deklariert
Dim lngLetzte As Long
' Die Variable lngZeile wird als Typ Long deklariert
Dim lngZeile As Long
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht)
Application.ScreenUpdating = False
' Letzte belegte Zelle in Spalte B plus 1 raussuchen und merken
lngLetzte = IIf(IsEmpty(Range("B65536")), Range("B65536").End(xlUp).Row + 1, 65536)
' in einer Schleife von dieser Letzten bis Zeile 1 gehen - also von unten nach oben
For lngZeile = lngLetzte To 1 Step -1
' Wenn die Zelle in der ensprechenden Zeile in Spalte B leer ist
If Cells(lngZeile, 2) = "" Then
' dann lösche die gesamte Zeile
Cells(lngZeile, 2).EntireRow.Delete
' Ende der Bedingung
End If
' Nächste Zeile mit der Bedingung vergleichen
Next
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End Sub |
Servus
Case
|
|
Demandred83
Gast
Verfasst am: 20. Feb 2006, 13:10 Rufname:
|
|
Danksager
Gast
Verfasst am: 17. Apr 2009, 12:57 Rufname:
|
|
| |
|
| Danke! Habe den Code auch benutzt. Funktioniert prima! Und die Kommentare im Code haben mir als Anfänger sehr geholfen bei der Abwandlung auf mein spezifisches Problem. Super!
|
|
Danksager_2
Gast
Verfasst am: 30. Apr 2009, 13:17 Rufname:
|
|
| |
|
| ...DANKE auch von mir - für die sehr aufschlussreiche Erklärung...
|
|
achimgr
Fortgeschrittener Einsteiger
Verfasst am: 08. Sep 2009, 21:46 Rufname: Achim
Wohnort: Niedersachsen
|
|
| |
|
Danksager 3, klasse erlärt, danke.
_________________ ______________________________________
Mit freundlichen Grüßen aus Niedersachsen
**Achim**
|
|
unbekannterTyp
Gast
Verfasst am: 02. Dez 2009, 13:11 Rufname:
|
|
| Version: Office 2007 |
|
@ Case
vielen dank für den Code. Ich hab die ganze Zeit es mit ActiveCell.entireRow.Delete versucht und nicht alle gelöscht bekommen.
So klappts prima
|
|
Gast
Verfasst am: 04. Jan 2010, 19:26 Rufname:
|
|
| |
|
Danke! Von unten nach oben war der entscheidene Hinweis.
hier eine vielleicht etwas einfachere Version:
| Code: | Sub Leere_Zeilen_Loeschen()
Application.ScreenUpdating = False
Dim usedRows As Long
usedRows = ActiveSheet.UsedRange.Rows.Count
For row = usedRows To 1 Step -1
If ActiveSheet.Cells(row, 2) = "" Then
Rows(row).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End Sub |
|
|
Guest
Gast
Verfasst am: 13. Jan 2010, 12:13 Rufname:
|
|
| |
|
| Mille Gracie an alle, habt mir sehr weitergeholfen!!!
|
|
Gast
Verfasst am: 25. Jan 2010, 14:40 Rufname:
|
| |
| |
|
| danke ebenfalls. die obige ist insofern besser, als dann man bereich von-bis der durchsucht werden soll einstellen kann... so kann ich zb spalte f von zelle 5501 bis 3868 durchsuchen lassen und alles leere löschen ,o)
|
|
| Verwandte Themen |
| Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Excel Formeln: Muß Daten kopieren mit Bezug auf mehrer Zeilen |
3 |
Anke |
762 |
07. Apr 2005, 10:54 Anke  |
 |
Excel Formeln: Vergleiche von Zeilen |
7 |
Zec |
537 |
11. März 2005, 15:46 Zec  |
 |
Excel Formeln: Zeilen von Tabelle1 nach Tabelle2 holen? |
2 |
gastler |
748 |
26. Feb 2005, 11:09 gastler  |
 |
Excel Formeln: Transponieren von Zeilen |
2 |
Ben_Bittet_Um_Hilfe |
754 |
17. Feb 2005, 12:11 Kuwe  |
 |
Excel Formeln: leere Zelle - Ampelfunktion |
1 |
Mario.S |
707 |
17. Feb 2005, 11:07 fridgenep  |
 |
Excel Formeln: Verknüpfung zu anderer xls-Datei löschen |
3 |
cerkens78 |
879 |
19. Jan 2005, 12:46 Kuwe  |
 |
Excel Formeln: Zeilen mit doppelten Werten löschen |
6 |
Sebowsky |
449 |
06. Jan 2005, 22:26 Sebowsky  |
 |
Excel Formeln: Leere Zellen ignorieren! |
1 |
Gast |
1193 |
24. Dez 2004, 00:59 xyzdef  |
 |
Excel Formeln: minuszeichen in Telefonnummern löschen z.B. 4523-21 |
2 |
reiseradler |
624 |
21. Dez 2004, 08:31 reiseradler  |
 |
Excel Formeln: Zeilen Minimum |
2 |
-Christoph- |
1067 |
22. Nov 2004, 13:01 -Christoph-  |
 |
Excel Formeln: Daten in Zeilen in Spalten verschieben |
2 |
Benja |
558 |
18. Okt 2004, 15:21 Benja  |
 |
Excel Formeln: Leere Zellen mit darüber stehender Nr. füllen |
9 |
Daniela Freitag |
1066 |
24. Sep 2004, 14:30 Gast  |
| |