das ist meine VBA
einigen sicher bekannt...
da Nutzer dieser Tabelle wo dies genutzt wird noch alte Excel Versionen haben oder ein anderes Programm verwenden
habe ich folgende Idee gehabt...
VBA:
Sub AusZwischenablage_zwischen_Klammern01()
Dim DaOb As DataObject
Dim txt As String
Dim Pos1 As Long
Dim Pos2 As Long
'-----------------------------------------------------
' Vor erstellen des Codes
' aktiviere unter EXTRAS - VERWEISE den Verweis:
' Microsoft Forms 2.0 Object Library
'-----------------------------------------------------
'text aus zwischenablage holen
Set DaOb = New DataObject
DaOb.GetFromClipboard
txt = DaOb.GetText
'text zwischen eckigen Klammern ermitteln
Pos1 = InStr(txt, "Incoming")
Pos1 = InStr(Pos1, txt, "[")
Pos2 = InStr(Pos1, txt, "]")
If Pos1 > 0 And Pos2 > Pos1 Then
txt = Left(txt, Pos2 - 1)
txt = Mid(txt, Pos1 + 1)
'Text in feste Zelle einfügen
ActiveSheet.Range("B3") = Replace(txt, vbCrLf, "")
ActiveSheet.Range("B3") = Replace(Range("B3"), " 49,", "")
Else
Beep
End If
Die Daten in B3 könnten dann so aussehen...
1, 2, 4, 9, 5, 6, 7, 3, 14, 11, 10, 8, 12, 13, 15, 17, 16, 18, 20, 19, 25, 21, 22, 23
oder auch leer sein weil es "Incoming" zweimal gibt und das erste leer ist...
Zahlenlänge ist unterschiedlich je nach Level der Stadt.
Die Frage der Anwender ist folgende.
Könnte man per VBA immer die letzten 4 der Reihe in je eine Zelle schreiben...
Hier also so:
H3 = 25
I3 = 21
J3 = 22
K3 =23
Danke für Eure gute Hilfe.