Ich habe mehrere Zeilen in einer einzigen Zelle, über eine Spalte. Ich möchte den folgenden Kommentar und das Datum extrahieren. Jedem Datum ist ?#[email protected]
vorangestellt. Für z.Nicht in der Lage, ein Muster mit VBA zu extrahieren
Hello ?#[email protected] 12 31T06:27:58+0000Great post ?#[email protected] 12 31T06:33:23+0000Awesome post Thanks?#[email protected] 12 31T06:49:38+0000
Also, ich mag hello
und 2013 12 31T06:27:58+0000
zusammen Ergebnisblatt extrahieren und so weiter ..
stieß ich auf einem VBA-Code für das gleiche. Es gibt jedoch keine Ausgabe.
Der Code ist wie folgt:
Sub datascrub()
On Error Resume Next
Set SourceSheet = ActiveSheet
Set TargetSheet = ActiveWorkbook.Sheets("Results")
If Err = 0 Then
Worksheets("Results").Delete
End If
Worksheets.Add
ActiveSheet.Name = "Results"
Set TargetSheet = ActiveSheet
Cells(1, 1).Value = "Found Codes"
Cells(1, 1).Font.Bold = True
iTargetRow = 2
SourceSheet.Select
Selection.SpecialCells(xlCellTypeLastCell).Select
Range(Selection, Cells(1)).Select
For Each c In Selection.Cells
If c.Value Like "?#[email protected]" Then
sRaw = c.Value
iPos = InStr(sRaw, "?#[email protected]")
Do While iPos > 0
If iPos < 4 Then
sRaw = " " & sRaw
iPos = iPos + 4
End If
sTemp = Mid(sRaw, iPos, 4)
sRaw = Mid(sRaw, iPos + 4, 24)
If sTemp Like "?#[email protected]" Then
TargetSheet.Cells(iTargetRow, 1) = sTemp
iTargetRow = iTargetRow + 1
Else
sRaw = Mid(sTemp, 4, 5) & sRaw
End If
iPos = InStr(sRaw, "?#[email protected]")
Loop
End If
Next c
End Sub
Jede Hilfe würde geschätzt.
Können Sie das Bild Ihrer Excel-Arbeitsblatt und Teilen Post einige Daten zu Ihrer Frage? –
Der Like-Operator verwendet "?" und "#" als Sonderzeichen. Um nach der Zeichenfolge "? # + @" Zu suchen, müssen Sie "Gefällt mir" * [?] [#] + @ * "' Sagen.(Das vorangestellte und nachfolgende "*" gibt an, dass vor oder nach der Zeichenfolge null oder mehr Zeichen vorhanden sein können. – YowE3K
Soll das Ergebnisblatt eine einzelne Zelle enthalten, die die Nachricht und das Datum enthält (immer noch mit der "? # + @ "Trennung" oder möchten Sie die Nachricht in einer Zelle in Spalte 1 und das Datum in der Zelle daneben in Spalte 2 (dh erste Nachricht in A2, erstes Datum in B2, zweite Nachricht in A3, zweites Datum in B3) usw.) – YowE3K