Supportnet Computer
Planet of Tech

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

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

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: