我有四行信息可以過濾。 (月份,名稱,服務,單位)我按名稱和月份過濾信息。 (取決於所需信息)我已經將以下內容放在一起,嘗試抓取最上面一行過濾的數據並將其放在另一張紙上。將過濾的單元格複製到另一個表格
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