Hat jemand eine Ahnung ob im Excel-VBA
ein Befehl für das Suchen gewisser Textteile vorhanden ist
z.b. Text="1,32,3,4,5333,523"
ich möchte immer die Zahl zwischen den kommas heraussuchen
ich bin fuer jeden hinweis dankbar
walter
--
Walter Winter
Technical University Graz
Institute for Chemical Engineering
schreibe den Text in A1. Dann führe folgendes VBA-Makro aus:
Option Explicit
Dim i, k, m As Byte
Dim Orig, Text As String
Sub ZahlenAusText()
Orig = Cells(1, 1).Value
m = Len(Orig)
k = 1
Text = ""
For i = 1 To m
If Mid(Orig, i, 1) <> "," Then
Text = Text & Mid(Orig, i, 1)
Else
k = k + 1
Cells(k + 1, 1).Value = CInt(Text)
Text = ""
End If
Next i
Cells(k + 2, 1).Value = CInt(Text)
End Sub
Die Zahlen aus dem String werden ab A3 abwärts geschrieben.
Gruß
J. M.
nun, so ich das richtig sehe, mußt du dir das selbst basteln.
mein beispiel dafür wäre folgendes:
Sub test()
Dim intStelle%, intStelleAlt%, intLen%
Dim strTestText$
strTestText = "1,32,3,4,5333,523"
intLen = Len(strTestText)
Do
intStelle = InStr(intStelle + 1, strTestText, ",",
vbTextCompare)
If intStelle = 0 Then intStelle = intLen + 1
Debug.Print Mid(strTestText, intStelleAlt + 1, intStelle -
intStelleAlt - 1)
intStelleAlt = intStelle
Loop Until intStelle = intLen + 1
End Sub
in der debug.print zeile wird die zahl richtig rausgesucht. dort kannst
du statt das debug eine andere verarbeitung vornehmen.
bye
Ulli.
Walter Winter schrieb:
Sub KommaSeparierterWertZerlegen()
Dim intI As Integer, Position As Integer
Dim strZahlen As String
strZahlen = ActiveCell.Value
intI = 1
Do While InStr(strZahlen, ",") <> 0
Position = InStr(strZahlen, ",")
Cells(intI, 1).Value = Left$(strZahlen, Position - 1)
strZahlen = Right$(strZahlen, Len(strZahlen) - Position)
intI = intI + 1
Loop
Cells(intI, 1).Value = strZahlen
End Sub
Vorhehensweise: Trage deinen Wert (Zahl und/oder Text, kommasepariert)
in eine Zelle und markiere diese Zelle. Starte das obige Makro.
MfG Frank
__________________________________________________________
Frank Arendt-Theilen, MVP für Microsoft Excel
E-Mail: Thei...@t-online.de
Am Thu, 14 Oct 1999 17:51:19 +0200, schrieb "Walter Winter"
<wi...@sbox.tu-graz.ac.at> in microsoft.public.de.excel zu "Textteile
suchen mit VBA":
walter
Walter Winter schrieb:
wie du aus einem anderen posting weisz hatte ich da problem mit der
zuweisung von großen array.
Mein gedanke war, dasz ich alle eintraege einfach als text in einen
vektor schreiben (1,23,45,23...) und sie bei der Auswertung einfach mit
einem "split" in ein array reinschiebe.
Aber leider gibt es im vba kein "split" wie z.b. in Perl.....
grusz
walter