Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich habe in einer Excel-Zelle unterschiedlichste Zahlen stehen (z.B. 810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275). Nun möchte ich gerne die Zahlen - von links - bis zum ersten Komma haben. Eventuelle aber auch mal von rechts bis zum ersten Komma oder den Mittelteil.

Kennt jemand den Code???

Geschrieben

Hallo,

vielen Dank für die Antwort. Diese Werte stehen in einer Zelle, weil das Programm - aus dem ich die Daten gezogen habe - diese so liefert. Nun sollen Sie in Exel weiter bearbeitet werden.

Ich würde es trotzdem gerne mit VBA lösen, da ich diese Zahlen dann noch weiter verarbeiten muss. Das ist dann mit VBA einfacher.

Geschrieben

Veruch es mal so:

Dim x As Integer

Dim zahlen As String

x = InStr(Range("b5").Value, ",")

zahlen = Mid(Range("b5").Value, 1, x - 1)

InStr(zu dursuchender String, gesuchter String) gibt die Anfangsposition eines Strings (hier das Komma) innerhalb eines Strings (also der Zelleninhalt) wieder. Mit Mid(String,Start,Ende) kannst du dann in diesem Beispiel die Zeichen von Position 1 bis eine Position vor dem Komma auslesen. alternativ ginge auch

Left(Range("b5").Value, x-1). Left liest dann x-1 zeichen von links nach rechts, es gibt natürlich auch Right(..., ...)

Hilft Dir das weiter?

Gruß

Gordonski

Geschrieben

Du müsstest auf die Variable "strCell" dynamisch die Excel-Zelle schreiben.


Dim strCell

Dim strValue

Dim lngKommaFound

'Von Links bis zum ersten Komma

strCell = "810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275"

lngKommaFound = InStr(1, strCell, ",")

strValue = Mid(strCell, 1, lngKommaFound - 1)

MsgBox strValue


'Von Links bis zum letzten Komma

strCell = "810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275"

lngKommaFound = DV_InStrRight(strCell, ",")

strValue = Mid(strCell, 1, lngKommaFound - 1)

MsgBox strValue


'Von Rechts bis zum ersten Komma

strCell = "810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275"

lngKommaFound = DV_InStrRight(strCell, ",")

strValue = Mid(strCell, lngKommaFound + 1)

MsgBox strValue


'Von Rechts bis zum letzten Komma

strCell = "810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275"

lngKommaFound = DV_InStrRight(strCell, ",")

strValue = Mid(strCell, 1, lngKommaFound - 1)

MsgBox strValue


'Von Links dem ersten Komma bis Rechts dem ersten Komma

Dim lngKommaFoundLinks

Dim lngKommaFoundRechts

strCell = "810/81/114 088 2, - 05.05.2006, 1024-06-0000-06275"

lngKommaFoundLinks = InStr(1, strCell, ",")

lngKommaFoundRechts = DV_InStrRight(strCell, ",")

strValue = Mid(strCell, 1, lngKommaFoundRechts - 1)

strValue = Mid(strValue, lngKommaFoundLinks + 1)

MsgBox strValue



Private Function DV_InStrRight(strQuelle, strSuche)

    Dim intPos

    If Not (IsNull(strQuelle) Or IsNull(strSuche)) Then

        intPos = InStr(strQuelle, strSuche)

        Do While intPos > 0

            DV_InStrRight = intPos

            intPos = InStr(intPos + 1, strQuelle, strSuche)

        Loop

    End If

End Function

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...