我正在编写VBA Excel代码,我需要从以下交易中提取买家。
交易示例
买家是谁
我无法控制我收到的交易。 正如您所看到的,Number 3 格式有点不同。 唯一相似的是Buyer总是出现在“to”之后
Public Sub Populate_FullData()
Dim TransArray() As String
Dim i As Integer
Dim id As String
Dim pos As Integer
' Populate TranArray() with the 4 Transactions
....
'
For i = LBound(TransArray) To UBound(TransArray)
id = "to"
pos = InStr(TransArray, id)
**I am stuck here on how to continue**
End Sub
如有任何建议,我们将不胜感激
我用
trim
(也许更简单)“尝试”来实现你所需要的,有一些限制,例如仅打印“to”后的第一个单词以识别买家,其中不包括全名,即对于(2),打印Wei而不是Weilian。但是,它允许启动,请参阅下面的代码片段和屏幕截图,希望它有所帮助。
Sub get_buyer()
Dim rng As Range
Dim cell As Range
Dim transaction As String
Dim buyer As String
Dim startPos As Integer
Dim endPos As Integer
Set rng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
For Each cell In rng
transaction = cell.Value
startPos = InStr(1, transaction, "to")
If startPos > 0 Then
startPos = startPos + 3
endPos = InStr(startPos, transaction, " ")
If endPos > 0 Then
buyer = Trim(Mid(transaction, startPos, endPos - startPos))
cell.Offset(0, 1).Value = buyer
End If
End If
Next cell
End Sub
交易备注在A栏,请相应修改。
结果看起来像,