Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Lösung gesucht

VBA Lösung gesucht
05.12.2004 22:25:20
Josef
Guten Abend!
Ich habe z.B. in einer Zelle folgendes stehen:
3408844095000477000010001221004ROTES KREUZ TEST 65 53
Ich müßte nun alle Buchstaben, nicht Zahlen aus dieser Zelle entfernen, das praktisch folgendes überbleibt:
3408844095000477000010001221004ROTES 65 53
Gäbe es hier bitte eine VBA oder eine Formellösung?
Danke
Josef

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Lösung gesucht
RAnton
Hallo Josef,
ich sehe nicht, daß du alle Buchstaben entfernen willst. Daher eine andere Lösung:
Worksheets("Tabelle1").Columns("A").Replace( What:="KREUZ TEST", Replacement:="",SearchOrder:=xlByColumns, MatchCase:=True)
Wenn du nur KREUZ TEST entfernen wills.
Gruß
Anton
AW: VBA Lösung gesucht
05.12.2004 23:10:38
Josef
Hallo Anton!
War ein Fehler von mir.
Natürlich sollte folgendes überbleiben:
3408844095000477000010001221004 65 53
Es gibt auch mehrere Datensätze mit verschiedenen Wörtern.
Jede Zeile kann zwischen den Zahlen verschiedene Wörter haben.
Josef
AW: VBA Lösung gesucht
RAnton
Hallo Josef,
kannst du damit etwas anfangen?
1. Speichere die Subroutine unter VBA in DieseArbeitsmappe.
2. Selectiere die Zellen, die du gerne bearbeitet haben willst
3. Lass die Subroutine laufen, dann müsste in der nächsten Spalte das Ergebnis stehen.

Sub löscheBuchstaben()
Dim r As Range
Dim z As Range
Dim b As String
Dim s As String
Dim i As Integer
Set r = Selection
For Each z In r
s = ""
For i = 1 To Len(z.Value)
b = Mid(z.Value, i, 1)
If Asc(b) >= Asc("0") And Asc(b) <= Asc("9") Then
s = s & b
End If
Next
z.offset(,1).value = s
Next
End Sub

Gruß
Anton
Anzeige
AW: VBA Lösung gesucht
06.12.2004 06:23:22
Josef
Guten Morgen Anton!
Danke für Deine Hilfe.
Ich habe das Makro durchlaufen lassen.

Sub LöscheBuchstaben()
Dim r As Range
Dim z As Range
Dim b As String
Dim s As String
Dim i As Integer
Set r = Selection
For Each z In r
s = ""
For i = 1 To Len(z.Value)
b = Mid(z.Value, i, 1)
If Asc(b) >= Asc("0") And Asc(b) <= Asc("9") Then
s = s & b
End If
Next
z.Offset(, 1).Value = s
Next
End Sub

Ich glaube es würde alles funktionieren, nur aufgrund der langen Nummernreihe bekomme ich statt
3408844095000477000010001221004 65 53 folgendes Ergebnis:
3,40884409500047E+62
Ich müßte also die Ergebniszelle ánscheinend noch auf ein Textformat bringen, damit die Zahlen richtig angezeigt werden.
Wo müßte man hier die Änderung im Makro bitte noch durchführen?
Danke
Josef
Anzeige
AW: VBA Lösung gesucht
EtoPHG
Hallo Josef,
ersetze
s=""
durch
s="'"
Gruss Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige