我有四行信息可以过滤。 (月份,名称,服务,单位)我按名称和月份过滤信息。 (取决于所需信息)我已经将以下内容放在一起,尝试抓取最上面一行过滤的数据并将其放在另一张纸上。将过滤的单元格复制到另一个表格
Sub Mine()
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim lRow As Long
Set sht1 = ThisWorkbook.Sheets("Export")
Set sht2 = ThisWorkbook.Sheets("DB1")
lRow = sht1.Cells(Rows.Count, "A").End(xlUp).Row + 1
sht1.Range("b" & lRow) = sht2.Range("A2" & Cells.SpecialCells(xlCellTypeLastCell).Row).SpecialCells(xlCellTypeVisible) 'Month
sht1.Range("a" & lRow) = sht2.Range("E2" & Cells.SpecialCells(xlCellTypeLastCell).Row).SpecialCells(xlCellTypeVisible) 'Client Name
sht1.Range("c" & lRow) = sht2.Range("C2" & Cells.SpecialCells(xlCellTypeLastCell).Row).SpecialCells(xlCellTypeVisible) 'Service
sht1.Range("d" & lRow) = sht2.Range("H1" & Cells.SpecialCells(xlCellTypeLastCell).Row).SpecialCells(xlCellTypeVisible) 'Units
End Sub
这不会错误,它只是不会复制任何内容到“导出”工作表。我能得到任何东西从一张纸复制到另一张纸的唯一方法是取出特殊的单元。如下...
Sub Mine()
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim lRow As Long
Set sht1 = ThisWorkbook.Sheets("Export")
Set sht2 = ThisWorkbook.Sheets("DB1")
lRow = sht1.Cells(Rows.Count, "A").End(xlUp).Row + 1
sht1.Range("b" & lRow) = sht2.Range("A2") 'Month
sht1.Range("a" & lRow) = sht2.Range("E2") 'Client Name
sht1.Range("c" & lRow) = sht2.Range("C2") 'Service
sht1.Range("d" & lRow) = sht2.Range("H1") 'Units
End Sub
但如前所述,它只复制第一行,过滤或不复制。我的目标是获取“DB1”的过滤顶行,并将其复制到“导出”中的已排序单元格。任何援助将不胜感激。
-JGr3g
您可能需要将这些行更改为类似:sht2.Range( “A2:A” &sht2.Cells.SpecialCells(xlCellTypeLastCell).Row).SpecialCells(xlCellTypeVisible)“月 – Sam