我们如何用特殊字符(例如T213-ASDF |硅谷|白色)使用vba来查找string

Private Sub CommandButton1_Click() Dim i As Integer Cells(i, 3).Value = Mid(Range("A" & i), InStr(1, Range("A" & i), "|") + 1, InStr(1, Range("A" & i), "|") - 1 - InStr(1, Range("A" & i), "|")) Next i End Sub 

试试看,并注意添加的评论,并相应地调整它。

 Private Sub CommandButton1_Click() Dim lr As Long Dim rng As Range, cell As Range Dim str() As String 'Assuming data is in Column A, finding the last row with the data in column A lr = Cells(Rows.Count, "A").End(xlUp).Row 'Assuming data starts from Row2 in Column A Set rng = Range("A2:A" & lr) For Each cell In rng str = Split(cell.Value, "|") 'if the string in A2 is T123-ASDF|Silicon Valley|White MsgBox str(0) 'will return T123-ASDF MsgBox str(1) 'will return Silicon Valley MsgBox str(2) 'will return White 'So if you want to return Silicon Valley in C2, try this cell.Offset(0, 2) = str(1) Next cell End Sub