Supportnet / Forum / Tabellenkalkulation
Ziffern / Leerstellen ersetzen
Frage
Hallo Freunde,
folgende Problematik: Ich möchte gerne aus einer Exceltabelle, die eine Auflistung (Zeilen) von Artikelnnummern enthält eine n-große Anzahl von Leerzeichen VOR den Nummer entfernen, um ein einheitliches Format zu erhalten. Da es sich nicht immer um Leerzeichen handelt, sondern auch manchmal um a-z oder 01-100 oder anderen Müll handelt, wäre es schön, wenn man alle Zeilen markieren könnte und dann die zu entfernenden Zeichen in die Formel einfügt oder per Makro zur Eingabe aufgefordert wird.
Das gleiche Problem möchte ich aber auch "umgekehrt" lösen können, indem ich n-Zeilen markiere und vor jedem Eintrag pro Zeile eine bestimmte Anzahl von Zeichen einfügen kann (wiederum per Formel oder Aufforderung durch Makro).
Wer hat hier eine Idee bzw. Lösung?
Vielen Dank für eure Hilfe im Voraus.
Abwasch
Antwort 1 von Wutz
Hallo Abwasch,
für das erste Thema kannst du die Daten erst in ein Txt auslagern und dann in Excel öffnen - dann kannst Du die Zeichenlänge so einstellen, dass er Dir vor dem gewünschten Zeichensatz eine neue Spalte mit dem nicht gewünschten Zeugs erstellt.
Der umgekehrte Weg: Du arbeitest mit verketten. Mach Dir eine Zelle, in der das gewünschte Präfix steht und verweise mit der Verketten funktion fix darauf. Dann einfach ne neue Spalte mit der Funktion ziehen und ggf. die Formeln durch Werte noch ersetzen.
Gruß
Wutz
für das erste Thema kannst du die Daten erst in ein Txt auslagern und dann in Excel öffnen - dann kannst Du die Zeichenlänge so einstellen, dass er Dir vor dem gewünschten Zeichensatz eine neue Spalte mit dem nicht gewünschten Zeugs erstellt.
Der umgekehrte Weg: Du arbeitest mit verketten. Mach Dir eine Zelle, in der das gewünschte Präfix steht und verweise mit der Verketten funktion fix darauf. Dann einfach ne neue Spalte mit der Funktion ziehen und ggf. die Formeln durch Werte noch ersetzen.
Gruß
Wutz
Antwort 2 von Saarbauer
Hallo,
Mit dem Programm Textpad
http://www.textpad.com/download/ver3.html
kann man bei den Funktionen dsa ganze auf bestimmte Bereiche (Spalten / Zeilen ) beschränken.
Vielleicht für dein Problem interessant.
Gruß
Helmut
Mit dem Programm Textpad
http://www.textpad.com/download/ver3.html
kann man bei den Funktionen dsa ganze auf bestimmte Bereiche (Spalten / Zeilen ) beschränken.
Vielleicht für dein Problem interessant.
Gruß
Helmut
Antwort 3 von michel123
hi all
eine variante auf die schnelle
gruss micha
Sub makro01()
Dim t As Long
Dim t1 As Integer
Dim eingabe As String
eingabe = InputBox("Wert eingeben", "Bitte geben Sie einen Wert ein")
If Mid$(eingabe, 1, 1) <> "+" And Mid$(eingabe, 1, 1) <> "-" And Mid$(eingabe, 1, 1) = "" Then End
For t = Selection.Row To Selection.Row + Selection.Rows.Count - 1
For t1 = Selection.Column To Selection.Column + 1
If Mid$(eingabe, 1, 1) = "+" Then
Cells(t, t1) = Mid$(eingabe, 2, Len(eingabe)) & Cells(t, t1)
End If
If Mid$(eingabe, 1, 1) = "-" Then
If Mid$(Cells(t, t1), 1, Len(eingabe) - 1) = Mid$(eingabe, 2, Len(eingabe)) Then
Cells(t, t1) = Mid$(Cells(t, t1), Len(eingabe), Len(Cells(t, t1)))
End If
End If
Next t1
eine variante auf die schnelle
gruss micha
Sub makro01()
Dim t As Long
Dim t1 As Integer
Dim eingabe As String
eingabe = InputBox("Wert eingeben", "Bitte geben Sie einen Wert ein")
If Mid$(eingabe, 1, 1) <> "+" And Mid$(eingabe, 1, 1) <> "-" And Mid$(eingabe, 1, 1) = "" Then End
For t = Selection.Row To Selection.Row + Selection.Rows.Count - 1
For t1 = Selection.Column To Selection.Column + 1
If Mid$(eingabe, 1, 1) = "+" Then
Cells(t, t1) = Mid$(eingabe, 2, Len(eingabe)) & Cells(t, t1)
End If
If Mid$(eingabe, 1, 1) = "-" Then
If Mid$(Cells(t, t1), 1, Len(eingabe) - 1) = Mid$(eingabe, 2, Len(eingabe)) Then
Cells(t, t1) = Mid$(Cells(t, t1), Len(eingabe), Len(Cells(t, t1)))
End If
End If
Next t1
Antwort 4 von michel123
hi
vergass beschreibung
in der inputbox einzugeben
erste zeichen muss ein + oder - sein
beispiel
+030
wird 030 vorangesetzt
-a1b2c3
wird a1b2c2 von vorne abgezogen
kein + kein - keine eingabe passiert nix
einfachmarkierung vorausgesetzt
gruss micha
vergass beschreibung
in der inputbox einzugeben
erste zeichen muss ein + oder - sein
beispiel
+030
wird 030 vorangesetzt
-a1b2c3
wird a1b2c2 von vorne abgezogen
kein + kein - keine eingabe passiert nix
einfachmarkierung vorausgesetzt
gruss micha
Antwort 5 von abwasch1
Hallo Freunde,
vielen Dank für die schnelle Hilfe. Habe es über ein Makro gelöst, dass zuerst die Spalten als Text formatiert. und dann vorgestellte Ziffern gemäß Stellenzahl( 3-te Stelle) in der Ziffer entfernt.
Grüße
abwasch
vielen Dank für die schnelle Hilfe. Habe es über ein Makro gelöst, dass zuerst die Spalten als Text formatiert. und dann vorgestellte Ziffern gemäß Stellenzahl( 3-te Stelle) in der Ziffer entfernt.
Grüße
abwasch

