Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro erkennt keine optisch leere Zellen

Makro erkennt keine optisch leere Zellen
10.01.2013 13:17:20
Reiner
Hallo zusammen,
Hallo zusammen,
ich habe aus einer anderen Fragestellung heraus ein neues Thema eröffnet.
In dem Tabellenblatt werden die Zellen werden durch Formeln aus einem anderem Tabellenblatt gefüllt.
Damit das Makro leere Zellen erkennen kann habe ich den Bereich kopiert und mit "Inhalte einfügen" "Werte" "Leerzellen überspringen" wieder eingefügt.
So wie es aussieht sind die leeren Zellen für das Makro nicht leer und deshalb funktioniert es nicht.
Wenn ich die (optisch) leeren Zellen mit "Entfernen" lösche dann funktioniert alles.
Gibt es eine Möglichkeit das Makro so zu ändern, daß es auch nur optisch leere Zellen ausblendet?
Dann könnte ich mir das Kopieren - Werte einfügen ersparen.

Sub Leere_Spalten_ausblenden()
Dim lngLast As Long, rng As Range
Application.ScreenUpdating = False
lngLast = Cells(1, 1).CurrentRegion.Rows.Count
If lngLast > 4 Then
For Each rng In Range("A1:AE1") ' Endzelle eintragen
'    For Each rng In Range(Cells(1, 1), Cells(1, 1).End(xlToRight)) ' Sucht die erste leere  _
Zelle
rng.EntireColumn.Hidden = _
Application.CountA(rng.Offset(4).Resize(lngLast - 4)) = 0
Next
End If
End Sub

Alternativ wäre ein Tipp wie ich beim Werte einfügen etwas anders machen kann auch OK.
Vielen Grüße aus Hessen
Reiner

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro erkennt keine optisch leere Zellen
10.01.2013 15:06:37
Klaus
Hallo Reiner,
Hallo Reiner,
So wie es aussieht sind die leeren Zellen für das Makro nicht leer und deshalb funktioniert es nicht
Dann ist die Zelle auch nicht leer!
In einer leeren Zelle steht nichts.
Das Formelergebnis =WENN(WAHR;"etwas";"") schreibt nicht (nichts) in die Zelle, sondern einen leeren String. Und ein leerer String ist eben etwas!
Oder, frei nach Michael Ende ("Die unendliche Geschichte"): "Ein Loch ist immerhin noch ein Loch, und nicht nichts!"
Gibt es eine Möglichkeit das Makro so zu ändern, daß es auch nur optisch leere Zellen ausblendet?
ja, sicherlich. Aber ohne die Kenntniss deiner Datei bastel ich das nicht, da mir aus deinem Makro nicht ersichtlich wird nach welchem Kriterium ausgeblendet werden muss.
Dann könnte ich mir das Kopieren - Werte einfügen ersparen.
Erspars dir doch! Rekordere den gesamten Kopieren-Werte einfügen Vorgang einmal und flicke ihn VOR dein bestehendes Makro. Dann übernimmt VBA das für dich, du hast es dir gespart und dein Makro funktioniert weiterhin.
Grüße,
Klaus M.vdT.

Anzeige
AW: Makro erkennt keine optisch leere Zellen
11.01.2013 11:07:03
Reiner
Hallo Klaus,
leider konnte ich gestern kein File hochladen, so daß ersichtlich ist was das Makro bewirken soll.
Das abgespeckte File habe ich nun angehängt. https://www.herber.de/bbs/user/83352.xlsm
In der Zeile 5 steht die Formel mit der ich mir die Werte hole.
In der Zeile 6 ist die Kopie die ich mit Werte einfügen reinkopiert habe.
in der Zeile 7 + 8 habe ich die Werte manuell eingetragen.
Bein klicken auf den Ausblendebutton passiert nichts, außer wenn ich die beiden blau markierten Felder mit "Entf" lösche.
Dann kann die Spalte ausgeblendet werden da die gesamten Spalte von Zeile 5 bis Ende wirklich leer ist.
Wenn die Formeln ein Problem sind kann ich es die Werte auch manuell reinkopieren aber das Ausblendemakro ist mir wichtig.
Als letzte Alternative wäre vielleicht das reinkopieren als Makro zu machen, so daß das Makro ins Ordersheet schaut und nur wenn die entsprechende Zelle leer ist (dort wird manuell reingetippt) die werte ins Exportblatt kopiert.
(Das fände ich nicht so elegant weil der Code für die vielen Felder doch sehr lang wäre und ich zudem eine VBA Abfrage nach nichtleeren Feldern mit einer Kopierroutine noch nie zusammengeklickt habe)
Viele Grüße
Reiner (der heute im Homeoffice sitzt und vom privaten Rechner File hochladen kann)
.

Anzeige
AW: Makro erkennt keine optisch leere Zellen
14.01.2013 08:54:02
Klaus
Hi,
was soll den der quatsch in Workbook open?
    Worksheets("Ordersheet").Activate
'''        ActiveSheet.Protect "MeinPW"
ActiveSheet.Visible = True

Wenn das Blatt .visible=false ist, kannst du es nicht mit Activate ansprechen. Wenn es bereits .visible=true ist, musst du es nicht mehr sichtbar machen - das ist es dann schon.
Davon ab: auf "activate" und "select" verzichten wann immer es geht. Besser:
with worksheets("Ordnersheet")
''' .protect "MeinPW"
.visible = true
end with

Zum Thema:
Den Code zum ausblenden hab ich mal umgeschrieben:

Sub Leere_Spalten_ausblenden()
''' ActiveSheet.Unprotect "MeinPW"
Dim lngLast As Long, rng As Range
Dim rng2 As Range
Dim bBlenden As Boolean
Application.ScreenUpdating = False
lngLast = Cells(1, 1).CurrentRegion.Rows.Count
If lngLast > 4 Then
For Each rng In Range("A1:AE1") ' Endzelle eintragen
'    For Each rng In Range(Cells(1, 1), Cells(1, 1).End(xlToRight)) ' Sucht die erste leere  _
Zelle
bBlenden = True   'ausblende-variable: gehe erstmal davon aus, dass diese Spalte  _
ausgeblendet wird
For Each rng2 In rng.Offset(4).Resize(lngLast - 4) 'schaue in jeder Zelle der Spalte
If rng2.Value  "" Then                       'wenn eine der Zellen NICHT leer ( _
oder="") ist,
bBlenden = False                           'dann setzte die ausblenen-Variable  _
FALSCH
Exit For                                   'und beende die Prüfung für die  _
restlichen Zellen
End If
Next rng2
rng.EntireColumn.Hidden = bBlenden                   'Ausblenden - oder nicht
Next
End If
''' ActiveSheet.Protect "MeinPW"
End Sub
Sollte jetzt laufen, oder?
Grüße,
Klaus M.vdT.

Anzeige
AW: Makro erkennt keine optisch leere Zellen
14.01.2013 13:45:47
Reiner
Hallo Klaus,
das Makro funktioniert perfekt.
Ich bin immer wieder erstaunt, daß ihr VBA Künstler so etwas aus der Ferne mit ein paar Zeilen Code lösen könnt.
vielen Dank für deine Hilfe und einen guten Start in die neue Woche.
Viele Grüße aus Hessen
Reiner

Danke für die Rückmeldung!
14.01.2013 14:07:52
Klaus
Ich wünsche auch dir einen guten Wochenstart,
Liebe Grüße aus Estland,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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