Excel

Liebe/-r Experte/-in,
ich versuche Daten zu addieren, die aus einer schwedischen Datenbank kommen. Die Zahlen lassen sich nicht addieren, da statt einem Tausenderpunkt eine Freistelle eingegeben wurde. Ich habe schon alles mögliche versucht, kann weder die original Einstellung finden, noch mit Hilfe von Zellen formatieren etwas verändern. Die einzige Möglichkeit ist die manuelle Herausnahme der Leerstelle - was bei zig Tausenden Stellen … lange dauern würde.

Wer weiss einen Rat??

Gruß, Loup

Die Zahlen lassen sich nicht addieren, da
statt einem Tausenderpunkt eine Freistelle eingegeben wurde.

Hallo.
Ich stelle dir mal zwei Möglichkeiten vor:

  1. Per Funktion „Wechseln“:
    In der benachbarten (Hilfs-)Zelle die Formel „=Wechseln(A1;“ „;“") eingeben. Das entfernt alle Leerzeichen.
    Dann dieses Ergebnis kopieren und wieder in eine Zahl umwandeln.

  2. Per VBA:
    Im VBA-Editor (Alt+F11) folgenden Code eintragen:

Sub LeerzeichenInZahlLöschen()
'Löscht Leerzeichen aus Zellinhalten, die ansonsten aus Zahlen bestehen
'und wandelt sie von Text in eine Zahl um.
Dim c As Range 'Zelle, die untersucht wird
Dim sTemporaererText As String 'Zellinhalt ohne Leerzeichen
Dim iZaehler As Integer 'Einfacher Zähler

For Each c In Selection 'Jede Zelle der Auswahl durchlaufen
sTemporaererText = „“ 'Vor erstem Gebracuh initialisieren
'Jedes Zeichen prüfen, ob es sich um ein Leerzeichen handelt.
'Falls ja, an den temporären Text anhängen, falls nein, ignorieren
For iZaehler = 1 To Len(c.Text)
If Mid(c.Text, iZaehler, 1) " " Then
sTemporaererText = sTemporaererText & Mid(c.Text, iZaehler, 1)
End If
Next iZaehler
'sTemporaererText ist nun der Zellinhalt ohne Leerzeichen
'Wenn es eine Zahl ist, wird deren Wert der aktuellen Zelle zugewiesen
If IsNumeric(sTemporaererText) Then
c.Value = sTemporaererText
End If
Next c
End Sub

Dann die zu bearbeitenden Zellen markieren und im Menü Extras-Makros das Makro „LeerzeichenInZahlLöschen“ auswählen und ausführen.
Hier brauchst du keine anschliessende Umwandlung, da das schon direkt im Code passiert.

Ich hoffe, eins von beiden hilft dir weiter.

Gruß aus Offenburg

Edgar „Fast Edi“ Hoffmann

Hallo Loup,

würde dir sehr gerne weiterhelfen und auch mal recherchieren, da mich dieses „Problem“ auch reizt es zu lösen. Habe aber momentan leider sehr wenig Zeit. Also adhoc kann ich dir leider nicht helfen.

Gruß und ein schönes WE

Hallo Loup,

im Makro-Editor gibst Du die folgende Funktion ein:

Function NoBlanks$(N$)

__Dim Z%, L%, E$

__E = N
__L = Len(E)
__Z = 1
__Do
____If Mid(E, Z, 1) = " " Then
______E = Left(E, Z - 1) & Right(E, L - Z)
______L = L - 1
____Else
______Z = Z + 1
____End If
__Loop While Z _)" ein, wobei für die Spalte mit den schwedischen Zahlen und für die Zeilennummer steht. z.B. „=WERT(NoBlanks(A15)“

Die Zahlen dieser Spalte kannst Du verrechnen._

Hallo Loup,

probiers mal mit diesem Makro:

Sub Leerzeichen()
Dim Bereich As Range

Set Bereich = Selection
With Bereich
.Replace What:=" „, Replacement:=“", _
LookAt:=xlPart, MatchCase:=True
End With
End Sub

Die betreffenden Zahlen markieren und das Makro ausführen.

Hallo Loup, sorry, da kann ich dir leider auch nicht helfen. Ich hätte dir auch vorgeschlagen, die Zellen zu formatieren, aber wenn das nicht geht. Vielleicht kann dir ja jemand anders raten.

Viele Grüße
Moonlight