0

我在 SHEET1 (ALL) 上有一份下载的银行对账单。我有几个小部件沿着其中一个运行

=SUMIF(C:C,H3,D:D)

在描述中搜索 H3 中的值 (EG: * WAGES *) 并合计 D 中的相应值。

我现在需要扩展它,以便它将整个 ROW 复制到一个新的电子表格中。

如果可能的话,我还想从一个输入框开始,这样我就可以一次搜索多个内容。

我见过/尝试过的各种代码仅适用于 C 行中的确切值。但是银行对账单的两次从未相同,如果可能的话,我希望它对搜索进行通配符。

谢谢你的时间。

亲切的问候

亚历克斯·尼科尔

4

1 回答 1

0

我最近就这样写了 VBA 代码。在我使用“付款”一词的地方,您可以使用“工资”一词并包括您的通配符,如下所示:

a.Cells(b.Row, 16).Value LIKE "*Wages*"


Sub ShortTerm()
Dim a As Range, b As Range
Dim i As Long
Dim j As Long
Dim p As Long
Dim value1 As Variant

 i = 4 'the start row for pasting

Set a = ThisWorkbook.Sheets("Payments").UsedRange

For Each b In a.Rows

'in the next line change 16 to reflect the column where WAGES is found
If a.Cells(b.Row, 16).Value = "Short Term" Then
For j = 1 to 16
value1 = a.Cells(b.Row, j).Value
ThisWorkbook.Sheets("DestinationSheet").Cells(i, j).Value = value1
Next

i = i + 1
End If
Next
End Sub

显然我只复制了 16 列,所以如果这就是你想要的,这应该可以。如果您需要更多,请使该循环更大。可能有一种方法可以复制整行,但我最初只想要特定的单元格,我希望重新组织它们,这就是我这样做的原因。

在这里查看我博客上的帖子:

http://automatic-office.com/?p=355

于 2013-11-01T17:53:45.333 回答