Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur Nichtleere Zellen auswählen

Forumthread: Nur Nichtleere Zellen auswählen

Nur Nichtleere Zellen auswählen
11.06.2003 14:56:05
hennerich
Tach auch,

mit
Set rng = Range("A1").CurrentRegion
For i = 2 To Range("A65536").End(xlUp).Row
wähle ich die Spalte A aus.
Dummerweise sind da mehrere leere Zellen drin enthalten.
Wie wähle ich einen Bereich in Spalte A aus, der NUR die Nichtleeren Zellen enthält??
Und kann ich auch für Spalte C den Bereich mit Range("C65536") festlegen???

Danke

hennerich

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:28:34
Marcus

Hi Hennerich,

probiers mal so:

Sub NichtLeereZellen()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("A1:A" & Range("A65536").End(xlUp).Row)

Set Bereich = _
Union(Bereich.SpecialCells(xlCellTypeFormulas), _
Bereich.SpecialCells(xlCellTypeConstants))
' Test
Bereich.Select

For Each Zelle In Bereich
Zelle.Select
Next Zelle
End Sub

mfG
Marcus


Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:34:22
andre

hallo hennerich,
1.
kommt drauf an, was tu hinterher tun willst.
a) für kopieren reicht autofilter - nicht leere - ....
b) bereich durchprüfen und einen string bilden, auswahl dann: kette="A1,A4,A6,A9,A11"
Range(kette).Select
2. ja
gruss andre

Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:42:32
hennerich

Ich will einen String bilden, die leeren Zellen variieren aber oft. D.h. ich kann nicht genau die Zelle angeben, die leer ist.

hennerich

P.S: @Marcus, das probier ich mal aus

Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:52:29
andre

hallo allerseits,
das makro von marcus passt, nur am ende die for-next-schleife weglassen.
gruss andre

Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:52:43
hennerich

Hallo Marcus,

da gibt es noch ein Problem,

ich muss die Werte jeder Zeile, in der ein Wert in Spalte Q steht, extra in einen String packen (hoffentlich hab ich's richtig erklärt).
Das unten ist der momentane Code. Dieser nimmt aber alles, bis zum letzten wert in Spalte A. Wenn dazwischen Leerzellen sind, wird das ignoriert.

Sub text()
Dim rng As Range
Dim iFile%, sFile$
Dim i As Long
Set rng = Range("A1").CurrentRegion
For i = 2 To Range("A65536").End(xlUp).Row
iFile = FreeFile
sFile = "C:\File" & Format(i, "0##") & ".TXT"
Open sFile For Output As iFile
Print #iFile, privSub3(Cells(i, 1), Cells(i, 14), i))
Close iFile
Next
End Sub

hennerich

Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 15:56:55
hennerich

Ich mus noch mal ganz dumm fragen, wie baue ich das jetzt in die Schleife ein???

hennerich

Re: Nur Nichtleere Zellen auswählen
11.06.2003 16:00:00
andre

hallo hennerich,
so etwa?
Sub text()
Dim rng As Range
Dim iFile%, sFile$
Dim i As Long
Set rng = Range("A1").CurrentRegion
For i = 2 To Range("A65536").End(xlUp).Row
if cells(i,1)<>"" then 'für spalte a,
'für andere spalte entsprechende zahl nehmen
iFile = FreeFile
sFile = "C:\File" & Format(i, "0##") & ".TXT"
Open sFile For Output As iFile
Print #iFile, privSub3(Cells(i, 1), Cells(i, 14), i))
Close iFile
end if
Next
End Sub

gruss andre

Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 16:08:10
hennerich

Danke sehr, da klappt prima.

hennerich

Re: Nur Nichtleere Zellen auswählen
11.06.2003 16:08:31
andre

hallo,
brauchst du wahrscheinlich gar nicht - siehe meine antwort von 16:00 weiter unten.
gruss andre

Re: Nur Nichtleere Zellen auswählen
11.06.2003 17:11:47
hennerich

Ich nochmal,

ich habe noch eine MessageBox eingebaut, die aber in der For Next Schleife permanent angezeigt wird. Wie kann ich das denn beenden lassen.

Sub text()
Dim rng As Range
Dim iFile%, sFile$
Dim i As Long
Set rng = Range("A1").CurrentRegion
For i = 2 To Range("A65536").End(xlUp).Row
if cells(i,1)<>"" then 'für spalte a,
'für andere spalte entsprechende zahl nehmen
iFile = FreeFile
sFile = "C:\File" & Format(i, "0##") & ".TXT"
Open sFile For Output As iFile
Print #iFile, privSub3(Cells(i, 1), Cells(i, 14), i))
Close iFile
else
msgbox("Nichts eingetragen")
end if
Next
End Sub

Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 17:20:13
andre

hallo hennerich,
nehme an, du brauchst die nur, wenn gar nichts war oder?
Sub text()
Dim rng As Range
Dim iFile%, sFile$
Dim i As Long
Set rng = Range("A1").CurrentRegion
For i = 2 To Range("A65536").End(xlUp).Row
if cells(i,1)<>"" then 'für spalte a,
'für andere spalte entsprechende zahl nehmen
iFile = FreeFile
sFile = "C:\File" & Format(i, "0##") & ".TXT"
Open sFile For Output As iFile
Print #iFile, privSub3(Cells(i, 1), Cells(i, 14), i))
Close iFile
end if
Next
if ifile=0 then msgbox("Nichts eingetragen")
'ifile wird grösser 0 sobald eine datei ausgeschrieben wird.
End Sub
gruss andre

Anzeige
Re: Nur Nichtleere Zellen auswählen
11.06.2003 17:34:44
hennerich

Danke sehr, so hab ich mir das gedacht.

hennerich

;
Anzeige

Infobox / Tutorial

Nur Nichtleere Zellen in Excel auswählen


Schritt-für-Schritt-Anleitung

Um in Excel nur die nicht leeren Zellen auszuwählen, kannst du das folgende VBA-Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub NichtLeereZellen()
       Dim Zelle As Range
       Dim Bereich As Range
       Set Bereich = Range("A1:A" & Range("A65536").End(xlUp).Row)
    
       Set Bereich = _
           Union(Bereich.SpecialCells(xlCellTypeFormulas), _
                 Bereich.SpecialCells(xlCellTypeConstants))
       ' Test
       Bereich.Select
    
       For Each Zelle In Bereich
           Zelle.Select
       Next Zelle
    End Sub
  4. Schließe den VBA-Editor.

  5. Führe das Makro aus, um nur die nicht leeren Zellen in Spalte A auszuwählen.


Häufige Fehler und Lösungen

  • Fehler: „Keine Zellen gefunden“

    • Lösung: Stelle sicher, dass es tatsächlich nicht leere Zellen in dem angegebenen Bereich gibt. Wenn alle Zellen leer sind, wird dieser Fehler angezeigt.
  • Fehler bei der Union-Funktion

    • Lösung: Vergewissere dich, dass der Bereich, den du auswählst, nicht leer ist. Du kannst eine zusätzliche Überprüfung einfügen, um sicherzustellen, dass Bereich nicht leer ist, bevor du die Union-Funktion verwendest.

Alternative Methoden

Einige alternative Methoden, um leere Zellen in Excel auszuwählen:

  1. AutoFilter verwenden:

    • Wähle den Bereich aus und gehe zu Daten > Filter > AutoFilter. Setze den Filter auf „Nicht leer“, um nur die nicht leeren Zellen anzuzeigen.
  2. Formeln zur Identifikation:

    • Nutze die WENN-Formel, um in einer Hilfsspalte zu identifizieren, welche Zellen nicht leer sind. Du kannst dann diese Zellen manuell auswählen.

Praktische Beispiele

  1. Nicht leere Zellen in Spalte A auswählen und in eine Textdatei speichern:

    Sub text()
       Dim rng As Range
       Dim iFile%, sFile$
       Dim i As Long
       Set rng = Range("A1").CurrentRegion
    
       For i = 2 To Range("A65536").End(xlUp).Row
           If Cells(i, 1) <> "" Then
               iFile = FreeFile
               sFile = "C:\File" & Format(i, "0##") & ".TXT"
               Open sFile For Output As iFile
               Print #iFile, Cells(i, 1)
               Close iFile
           End If
       Next
    End Sub
  2. Eine MessageBox nur anzeigen, wenn keine nicht leeren Zellen gefunden wurden:

    If iFile = 0 Then MsgBox "Nichts eingetragen"

Tipps für Profis

  • Verwende xlCellTypeBlanks, um gezielt leere Zellen auszuwählen, wenn du sie benötigst.
  • Kombiniere das Auswählen von nicht leeren Zellen mit weiteren VBA-Funktionen, um automatisierte Berichte zu erstellen.
  • Nutze die SpecialCells-Methode, um effizient nur die Zellen auszuwählen, die deinen Kriterien entsprechen.

FAQ: Häufige Fragen

1. Wie kann ich nur leere Zellen auswählen? Du kannst die SpecialCells-Methode mit dem Parameter xlCellTypeBlanks verwenden, um nur die leeren Zellen auszuwählen.

2. Ist dieses Makro mit allen Excel-Versionen kompatibel? Das bereitgestellte Makro sollte in den meisten modernen Versionen von Excel (Excel 2007 und höher) funktionieren. Achte darauf, dass dein Excel VBA aktiviert hat.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige