[Excel] fehlerhafter Import - String "" statt Empty
Gepostet am: Apr 14, 2011 12:52:31 PM
Wenn man csv-Dateien oder dergleichen importiert, kommt es immer wieder vor, dass Zellen den falschen Datentyp haben.
Den Datentyp kann man mit folgender, kurzen Funktion ermitteln
DatenTyp ermitteln
Public Function ErmittleDatentyp(myCell As Range) As String ErmittleDatentyp = TypeName(myCell.Value)End Function
Damit aber alle Rechenoperationen tadellos funktionieren, empfiehlt es sich insbesondere Zellen vom DatenTyp "String" ohne Inhalt auf "Empty" zu setzen. Dazu habe ich diese kurze Funktion geschrieben:
ImportFehler beheben
Public Sub ConvertEmptyCells() Dim myRange As Range For Each myRange In ActiveSheet.UsedRange If TypeName(myRange.Value) = "String" Then If Len(myRange.Value) = 0 Then myRange.Clear End If End If NextEnd Sub
Dies hilft, wenn lediglich leere Zellen vom falschen Datentyp sind. Meist ist es jedoch auch der Fall, dass Zahlen selbst als String importiert wurden, dann hilft folgende Funktion:
Convert Import Errors
Public Function ConvertImportErrors() Dim myRange As Range For Each myRange In ActiveSheet.UsedRange If TypeName(myRange.Value) = "String" Then If Len(myRange.Value) = 0 Then myRange.Clear ElseIf IsNumeric(myRange.Value) Then myRange.Value = CDbl(myRange.Value) End If End If NextEnd Function
Ähnliche Funktionen könnte man unzählige schreiben, je nachdem was falsch importiert wurde, wie zum Beispiel ein Datum, das als String importiert wird. Da das aber abhängig von der jeweiligen Quelle ist, und man immer mit den selben Datenquellen zu tun hat, kann man sich diese Funktionen auch recht leicht selber schreiben.
Wenn man die Funktion öfters benötigt, kann man sie sich einfach auf die Symbolleiste legen.