我正在使用一个工作簿,该工作簿有许多客户的“预定付款”,每张表中有一个。
工作表具有以下结构 - 日期 - 价值 - 名称 - 银行 - 城市
我需要做的是,搜索DATE并将所有具有该日期的行复制到另一张名为“Busca”的工作表中,搜索所有工作表。
我是初学者,到目前为止我的代码草图是这样的:
Sub Pesquisa()
Dim data As Variant 'declarando a variável que vai receber a data a ser buscada
Dim linha As String 'declarando a variável que vai receber o dado encontrado
On Error Resume Next
Worksheets("Busca").Range("relatorio").ClearContents
data = B1
End Sub
如果有人可以牵手,我也可以上传文件。
由于
答案 0 :(得分:1)
下面是一段代码草图,可以使用以下假设。
Date > Value > Name > Bank > City
数据位于从单元格A2开始(第1行是标题)Busca
表单中的单元格A1中,并在该表格的第2行中放置Date > Value > Name > Bank > City
标题。您可以根据需要修改这些假设。
Sub Pesquisa()
Dim wsB as Worksheet
Set wsB = ThisWorkbook.Worksheets("Busca")
Dim dDate as Date
dDate = wsB.Range("A1") 'assumes your desired date is in cell A1 of Busca sheet
Dim ws as Worksheet
For each ws in ThisWorkbook.Worksheets
If ws.Name <> "Busca" Then 'check all sheets except Busca sheet
ws.Range("A1:E1").AutoFilter 1, dDate
If Not Intersect(ws.UsedRange,ws.UsedRange.Offset(1)).SpecialCells(xlCellTypeVisible) Is Nothing Then
Intersect(ws.UsedRange,ws.UsedRange.Offset(1)).SpecialCells(xlCellTypeVisible).Copy wsB.Range("A" & wsB.Rows.COunt).End(xlUp).Offset(1)
End If
End If
ws.AutoFilterMode = False
Next
End Sub