嗨,我是Stackoverflow和VBA的新手。
我在表1的[描述]列中有一大组数据。我一直在尝试找到一种方法来从此列中选择特定数据,并将此特定数据粘贴到表1的另一列中。
例如,在 [描述] 列中,我有一些文本和一个发票编号 ex:FT022154。这些数据各不相同,有时有两三个发票编号,有时没有。我想隔离这些发票编号,然后将其复制并粘贴到 table1 的另一列中。
老实说,我不知道从哪里开始,也找不到与我的问题具体相关的任何内容。
编辑 1(已添加图像)表1截图
所以基本上,我不需要拆分"描述"列中的信息,只需复制所需的信息并将其粘贴到发票列中即可。感谢您的帮助!
代码对我有用。将其复制到新模块中,并更改工作表名称和列以适合您的工作簿。在我的代码中,C 列是说明,A 列是发票。您可能还需要重新定义fr
(第一行),现在设置为 2。
Sub invoiceSeparation()
Dim tws As Worksheet
Dim description() As String
Dim fr, lr As Integer 'first row, last row of data
Set tws = ThisWorkbook.Worksheets("InvoiceSeparation")
fr = 2
lr = tws.Range("C1000000").End(xlUp).Row
With tws
.Range("A" & fr & ":A" & lr).ClearContents
For r = fr To lr
description() = Split(.Range("C" & r).Value, " ", -1, vbTextCompare)
For i = LBound(description) To UBound(description)
If Left(description(i), 2) = "FT" Then
If Not IsEmpty(.Range("A" & r).Value) Then
.Range("A" & r).Value = .Range("A" & r).Value & " " & description(i)
Else
.Range("A" & r).Value = .Range("A" & r).Value & description(i)
End If
End If
Next i
Next r
End With
End Sub
如果您对这段代码的工作原理有任何疑问,请告诉我!