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:
892
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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