Thema Datum  Von Nutzer Rating
Antwort
07.10.2017 22:07:54 Stefan
Solved
08.10.2017 07:28:51 Werner
NotSolved
08.10.2017 08:35:13 jörg
NotSolved
08.10.2017 10:44:16 Stefan
NotSolved
08.10.2017 10:54:51 Gast18899
NotSolved
Blau Dateityp ändern: String-Double (bzw. Währung)
08.10.2017 11:11:49 Gast94618
NotSolved
08.10.2017 11:33:18 Werner
NotSolved

Ansicht des Beitrags:
Von:
Gast94618
Datum:
08.10.2017 11:11:49
Views:
624
Rating: Antwort:
  Ja
Thema:
Dateityp ändern: String-Double (bzw. Währung)

Ok, jetzt habe ich den Fehler gefunden. In der ersten Zeile waren Texte vorhanden. Außerdem muss die Range nach dem Aufteilen der Texte Spalten auf Spalte 3 geändert werden. So funktioniert es bei mir:

Option Explicit
Sub Andromoney_konvertieren()

Dim loLetzte As Long, raBereich As Range, raZelle As Range
 
Application.ScreenUpdating = False
 
With Worksheets("importtest") 'Blattnamen anpassen
    'letzte Zeile Spalte A ermitteln
    loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
    'Bereich von A1 bis A letzte belegte Zelle definieren
    Set raBereich = .Range(.Cells(1, 1), .Cells(loLetzte, 1))
 
    'Prüfung ob Daten in Spalte A vorhanden
    If loLetzte = 1 And IsEmpty(.Cells(1, 1)) Then
        MsgBox "Keine Daten in Spalte A"
        Exit Sub
    End If
     
    'Text trennen
    raBereich.TextToColumns DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:= _
    Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 1), _
    Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2) _
    , Array(14, 2)), TrailingMinusNumbers:=True
  
    'Punkte durch Komma ersetzen in Beträgen
    loLetzte = .Cells(.Rows.Count, 3).End(xlUp).Row
    Set raBereich = .Range(.Cells(1, 3), .Cells(loLetzte, 3))
    raBereich.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
  
    'Format der Währung ändern        (Text->Währung)
    Set raBereich = .Range(.Cells(2, 3), .Cells(loLetzte, 3))
    For Each raZelle In raBereich
        raZelle = CDbl(raZelle)
    Next raZelle
    .Columns("C:C").NumberFormat = "#,##0.00 $"
End With
   
Set raBereich = Nothing
Application.ScreenUpdating = True
End Sub

Danke nochmal für eure Hilfe :-)


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.10.2017 22:07:54 Stefan
Solved
08.10.2017 07:28:51 Werner
NotSolved
08.10.2017 08:35:13 jörg
NotSolved
08.10.2017 10:44:16 Stefan
NotSolved
08.10.2017 10:54:51 Gast18899
NotSolved
Blau Dateityp ändern: String-Double (bzw. Währung)
08.10.2017 11:11:49 Gast94618
NotSolved
08.10.2017 11:33:18 Werner
NotSolved