Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Trim-Befehl wirft "." und "," durcheinander
#1
Hallo,

ich füge aus einer txt-Datei mehrere Zeilen ein, habe da verschiedene Formate (Text und Zahlen) und auf nachstehende (bzw. voranstehende) Leerzeichen.

Zwingend muss ich die Werte in ein anderes Tabellenblatt kopieren.

um die Leerzeichen zu entfernen verwende ich den Trim-Befehl (VBA. steht voraus weil der zuerst nicht funktioniert hat)

Das Problem an der Sache ist, dass aus der Kommazahl durch den Trimbefehl eine Zahl ohne Komma erzeugt wird -

--> Aus "17,852777" wird "17.852.777"

Gibt es da einen Befehl den ich da leicht einfügen kann, dass der Wert "Deutsch" verwendet wird?

Wäre für eure Hilfe sehr dankbar,

Grüße
 Daniel

Ach ja - eine Datei mit dem Beispiel hab ich angehängt.


Angehängte Dateien
.xlsm   Trimproblem.xlsm (Größe: 15,96 KB / Downloads: 7)
to top
#2
Hallo,

Trim löscht führende und nachgestellte Leerstellen.

Mit Replace kannst Du alle entfernen.

Hier mal ein Vorschlag, wie Du es umsetzen könntest:

Code:
Sub Glaetten()
'
Dim i As Integer
i = 1

Do While Cells(i, 2) <> ""
  If IsNumeric(Cells(i, 1)) Then
  Cells(i, 1) = CDbl(Replace(Cells(i, 2).Value, " ", ""))
  Else
   Cells(i, 1) = Replace(Cells(i, 2).Value, " ", "")
  End If
  i = i + 1
Loop
End Sub
Gruß Atilla

Excel 2007
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
Daniel.Haering
to top
#3
Hallo Daniel,

teste mal so:

Code:
Cells(i, 1).Value = Application.Trim(Replace(Cells(i, 1).Text, ",", "."))

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
Daniel.Haering
to top
#4
Hallöchen,

die Zahl ist für Excel durch den Trimbefehl ein Text. Anschließend versucht Excel, beim Eintrag in die Zelle daraus wieder eine Zahl zu machen. Da VBA "englisch" arbeitet, und im englischen das Komma ein Tausendertrennzeichen ist, werden die deutschen Tausendertrenner gesetzt.

Du kannst Excel wahrscheinlich auch ohne Replace austricksen:

Code:
Sub Glaetten()
'
Dim i As Integer
i = 1

Do While Cells(i, 1) <> ""
   If IsNumeric(Cells(i, 1).Value) Then
      Cells(i, 1).Value = Str(Trim(Cells(i, 1)))
   Else
      Cells(i, 1).Value = Trim(Cells(i, 1))
   End If
   i = i + 1
Loop
End Sub
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
Daniel.Haering
to top
#5
Servus,

vielen Dank für eure Hilfe - meine Lösung schaut jetzt so aus:


Code:
           i = 1
           j = 1
           Do While Cells(i, j) <> ""
               Do While Cells(i, j) <> ""
                   If IsNumeric(Cells(i, j).Value) Then
                       Cells(i, j).Value = VBA.Str(VBA.Trim(Cells(i, j)))
                   Else
                       Cells(i, j) = VBA.Trim(Cells(i, j))
                   End If
                   j = j + 1
               Loop
               j = 1
               i = i + 1
           Loop
Damit gehe ich Zeile für Zeile nach unten bis eine leere Zeile erreicht wird (in Spalte A ist wenn dann immer text) und dann gehe ich so lange nach rechts bis die erste leere Spalte erreicht wird.

Grüße
 Daniel
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Zellen Summe verstecken (VBA Makro Befehl ) Kj91 15 183 18.11.2016, 13:30
Letzter Beitrag: Kj91
  Pivot Datum durcheinander Koncti 3 74 28.10.2016, 17:09
Letzter Beitrag: Koncti
  VBA Makro Befehl Range Kubababa 2 98 27.10.2016, 19:32
Letzter Beitrag: Gast 123
  Gleitkommazahlen in Zelle befreien, erste bis letzte Ziffer, Trim() ohne Funktion! Vince440 4 293 26.07.2016, 12:37
Letzter Beitrag: Vince440
  Vor Paste-Befehl Bereich löschen lapunta 13 493 28.06.2016, 18:25
Letzter Beitrag: RPP63
  Einzug versus Trim VisualBasic 6 324 05.06.2016, 18:52
Letzter Beitrag: VisualBasic
  Kann ich den Inhalt einer Zelle in einen Befehl integrieren? sp-projekt 2 584 12.09.2015, 16:07
Letzter Beitrag: sp-projekt
  Allgemeiner Befehl: Bezug auf Zelle in selber Zeile aber 1/2/3 Spalten vorher sp-projekt 4 583 12.09.2015, 14:20
Letzter Beitrag: sp-projekt
  Befehl: Wert für jede mögliche Kombination Jln 13 1.892 08.06.2015, 11:04
Letzter Beitrag: Jln
  Message Box - Befehl "Abbrechen" Chris-89 7 845 02.05.2015, 21:45
Letzter Beitrag: Kuwer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste