Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1636to1640
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

Leere zellen VBA vs Excel

Leere zellen VBA vs Excel
14.08.2018 11:49:57
KVikLine
Hallo zusammen,
bin gerade dabei ein Add-in zu schreiben für eine Excel-Datei, die wir regelmäßig bekommen. Diese muss ein wenig aufpoliert werden, damit diese brauchbar ist.
Muss bei mehr als 420 Spalten (größer 89.000 Zeilen) mit „Text in Spalten“ also via TextToColumns umwandeln.
Stoße nun auf ein kleines Problem:
Bei Spalten die leer sind kommt die Fehlermeldung sinngemäß: Kann mit leeren Datensätzen o.ä. nichts anfangen (Laufzeitfehler „1004“: Der TextToCollumns-Methode des Range-Objektes konnte nicht ausgeführt werden). Also mache mit CountA (Range) prüfen ob was drin ist, soweit ok.
Hier der Code:
Workbooks(AktWB).Sheets(AktSH).Range(Workbooks(AktWB).Sheets(AktSH).Cells(AusgZeile, i), Workbooks(AktWB).Sheets(AktSH).Cells(L_Row, i)).TextToColumns _
Destination:=Cells(AusgZeile, i), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
Nun stelle ich fest, dass die leeren Zellen gar nicht leer sind. Vom VBA werden diese aber als leer behandelt = kommt wieder zu der o.g. Meldung
Was tun?
Hab noch via Excel geprüft wie die Inhalte dort interpretiert werden, mit folgendem Ergebnis:
A1:A10 ist leer
Anzahl(A1:A10) =0
Anzahl2(A1:A10) =10
Wenn ich jedoch z.B. in die A2 doppelt klicke und dann Enter, dann wird Anzahl2(A1:A10) =9 angezeigt.
Wie kann man dieses Phänomen* behandeln?
*angeblich leere Zelle als tatsächlich leer zu deklarieren o.ä.
Danke…
PS: Es ist kein „Hochkomma“ kein leerer String o.ä. erkennbar. Habe auch via MsgBox mir verschiedenes ausgeben lassen. VBA erkennt nichts.

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

Betreff
Datum
Anwender
Anzeige
AW: Leere zellen VBA vs Excel
14.08.2018 14:43:01
Hajo_Zi
bei 420 Spalten kannst Du nur in der letzten Spalte "Text in Spalten machen"
Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Leere zellen VBA vs Excel
15.08.2018 14:36:11
KVikLine
Hallo Hajo,
habe die Datei hochgeladen (https://www.herber.de/bbs/user/123349.xlsx).
Um es vielleicht ein wenig verständlicher zu machen, ich will die Daten so aufarbeiten, dass ich diese filtern kann und zwar so, dass wo die Zahlen sind will ich die Möglichkeit haben auch mit zahlen zu arbeiten. Z.B. „größer gleich“ (das sind die pinken spalten wo es hackt).
Mir geht es primär darum aus den angeblichen Zahlen eine echte zu machen. Man sieht an Hand der Anzahl und Anzahl2, dass hier was falsch infiziert wird. Wenn man jedoch in eine der pinken klickt, wird diese richtig gedeutet. Ich kann aber kaum bei größer 33 Millionen Doppelklick machen😊. Das einzige was z.Z. funkt bei der Umwandlung, ist das manuelle „Text in Spalten“. Dies ist aber auch lässig, da ich von Zeile3 bis 89.000 auswählen muss.
Vielleicht gibt es ja einen anderen viel einfacheren Ansatz für die aktuelle Problematik.
Dank und Gruß KVikline
PS: Habe einen Ansatz gefunden (nur in min oder max Spalten prüfen und ändern), dieser funkt aber nur bedingt, da bei den tausenden von Daten immer noch spalten leer sind, dabei kriege ich also auch die schon genannte Meldung.
Hier noch der Code des aktuellen Scripts:
Sub Proc_ComplSteelGraade()
'Declaration
AktWB = ActiveWorkbook.Name
AktSH = ActiveSheet.Name
L_Column = Workbooks(AktWB).Sheets(AktSH).UsedRange.SpecialCells(xlCellTypeLastCell).Column
L_Row = Workbooks(AktWB).Sheets(AktSH).UsedRange.SpecialCells(xlCellTypeLastCell).Row
'active cell
Set AusgZelle = ActiveCell
AusgSpalte = AusgZelle.Column
AusgZeile = AusgZelle.Row
'start procedure .TextToColumns
For i = AusgSpalte To L_Column
'selection chek temporary (finally hidden)
Workbooks(AktWB).Sheets(AktSH).Range(Workbooks(AktWB).Sheets(AktSH).Cells(AusgZeile, i),  _
Workbooks(AktWB).Sheets(AktSH).Cells(L_Row, i)).Select
'check min max in header
Dim Line_Header As String
'selection check for header (finally hidden)
Workbooks(AktWB).Sheets(AktSH).Cells(AusgZeile - 1, i).Select
Line_Header = Workbooks(AktWB).Sheets(AktSH).Cells(AusgZeile - 1, i).Value
If Line_Header = "min" Or Line_Header = "max" Then
Workbooks(AktWB).Sheets(AktSH).Range(Workbooks(AktWB).Sheets(AktSH).Cells(AusgZeile, i),  _
Workbooks(AktWB).Sheets(AktSH).Cells(L_Row, i)).TextToColumns _
Destination:=Cells(AusgZeile, i), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote,  _
ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(1, 1),  _
TrailingMinusNumbers:=True
Else
End If
Next
End Sub

Anzeige
AW: Leere zellen VBA vs Excel
15.08.2018 15:55:54
Hajo_Zi
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern. Ich führe keine Liste unter welchem Dateinamen ich die Datei gespeichert habe.

AW: Leere zellen VBA vs Excel
15.08.2018 17:10:19
Hajo_Zi
Gut zu meiner Feststellung das nur in der letzten Spalte "Text in Spalte" gemacht werden kann muss man nichts schreiben.
Dann lasse ich mal andere daran arbeiten, vielleicht lesen die was anderes.
Gruß Hajo
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige