Anzeige
Archiv - Navigation
1532to1536
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
Inhaltsverzeichnis

Makro funktioniert nicht immer - Hilfe benötigt

Makro funktioniert nicht immer - Hilfe benötigt
18.01.2017 14:03:04
Marcel
Hall zusammen,
ich habe hier im Forum schon mal in einem anderen Beitrag Hilfe bekommen als es darum ging, dass ich ein Makro benötigt habe, das Folgendes macht:
"Prüfe Spalten 1-30 ab und schreibe dann alles was du findest quasi "linksbündig" hin beginnend mit der ersten Spalte die du abprüfst".
Die Antwort, die ich bekommen habe war folgendes Makro:
Sub To_LEFT()
On Error Resume Next
ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete shift:=xlToLeft
On Error GoTo 0
End Sub
Mit der damaligen Beispieldatei hat das auch prima funktioniert, nur wenn ich es jetzt in andere Dateien einfüge passiert nichts - so wie in folgender Beispieldatei: https://www.herber.de/bbs/user/110673.xlsm
Kann mir jemand erklären, woran das liegt?
Danke und Grüße
Marcel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro funktioniert nicht immer - Hilfe benötigt
18.01.2017 14:38:39
Gunter
Hallo Marcel
Das was du beschreibst kann nicht mit dem Makro nicht funktionieren. Hast du die Beispieldatei noch, dann lade die mal hoch.
Gruss
Gunter
AW: Makro funktioniert nicht immer - Hilfe benötigt
18.01.2017 14:46:45
UweD
Hallo
die "Leeren" Zellen sind nicht leer, sondern sehen nur so aus.
geh mal in deiner Datei in E2 und dücke entf.
dann siehst du, dass der Wert von D2 auf einmal länger angezeigt wird
lösche mal die Daten aus F2:F20
wenn du nun das makro startest, werden diese Zellen durch xlCellTypeBlanks auch erkannt und gelöscht
LG UweD
Anzeige
Zellen sind nicht Leer
18.01.2017 14:47:46
Daniel
Hi
das kommt daher, dass deine Leerzellen keine Leerzellen sind, sondern den Text "" (Leerstring) enthalten.
Sowas entsteht, wenn du Formeln mit dem Ergebnis "" bzw Leerstring per Kopieren/Inhalte einfügen Werte bzw in VBA mit .PasteSpecial xlpastevalues in Festwerte umwandelst.
Oder auch nach Datenimporten aus anderen Systemen kann sowas passieren.
die Lösung währe hier, die Werte noch mal mit:
.Formula = .Value in die Zellen zu schreiben, dabei werden dann Zellen mit Leerstring in echte Leerzellen umgewandelt:

Sub To_LEFT()
With ActiveSheet.UsedRange
.Formula = .Value
If WorksheetFunction.CountBlank(.Cells) > 0 Then _
.SpecialCells(xlCellTypeBlanks).Delete shift:=xlToLeft
End With
End Sub
Gruß Daniel
Anzeige
AW: Zellen sind nicht Leer
18.01.2017 15:16:18
Marcel
Hallo zusammen,
@Daniel: Danke, so funktioniert das Makro tatsächlich!
Es ist tatsächlich so, dass ich aus einer Formel, die den Wert "" ausgibt kopiert habe und den Wert eingefügt. Gibt es schon an dieser Stelle eine Möglichkeit, dass ich entweder an der Formel etwas ändere oder an der Stelle kopieren & Werte einfügen damit die vermeintlich leeren Zellen tatsächlich leer sind?
Danke und Grüße
Marcel
AW: Zellen sind nicht Leer
18.01.2017 15:28:31
Daniel
Hi
an der Formel kannst du nichts ändern, eine Formel muss einen Wert ausgeben, eine Formel kann keine echte Leerzelle als Ergebnis haben.
du kannst das Umwandeln der Formeln gleich mit .Formula = .Value machen und dafür das Copy/Pastespecial weglassen.
eine anderen Alternative wäre, dass die Formel für die Zellen, die gelöscht werden sollen, nicht den Leerstring "" ausgibt, sondern einen Wahrheitswert (WAHR oder FALSCH).
diese könntest du dann über .SpecialCells(xlCelltypeConstants, 4) gezielt selektieren, hierbei spielt es dann keine Rolle, ob du Copy/PasteSpecial oder .Formula=.Value zum Umwandeln verwendet hast.
prinzipell würde das sogar ohne Umwandeln funktionieren, dh noch mit den Formeln in den Zellen, wenn du die Zellen dann über .SpecialCells(xlCellTypeFormulas, 4) selektierst.
(wobei das nur sinnvoll ist, wenn in den Zellen die nicht gelöscht werden die Formel erhalten bleiben kann)
Gruß Daniel
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige