0
我試圖從我的清單中打開工作表(存檔),過濾第二工作表中的數據,然後將過濾的數據複製到清單中的工作表。除了已過濾的數據僅複製第一個連續範圍內的行中的數據之外,一切正常。我的代碼如下使用已過濾的數據設置值
Dim LastRow As Long
Dim nOoFrOWS As Long
Dim oSht As Worksheet
Workbooks.Open ("C:\Inventory\Archive.xlsm") '<- at opening a workbook it becomes the active one
Set oSht = ActiveWorkbook.Worksheets("Archive") '<-- set the destination worksheet in the activeworkbook
With ActiveSheet
.ListObjects("Archive").Range.AutoFilter Field:=12, Criteria1:=mOrder
nOoFrOWS = .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1 '# of rows in Inventory
End With
Unload Me
ThisWorkbook.Sheets("RAM").Range("A2:K" & nOoFrOWS).Value = oSht.Range("Archive[[QTY]:[RTK]]").SpecialCells(xlCellTypeVisible).Cells.Value
oSht.Parent.Close False
我在做什麼錯了?
編輯:我不知道它是否恰當,但存檔(我從中複製)的範圍不是整個表格。我有更多的行,但這些都是我需要的這個應用程序。
另外,有沒有辦法做到這一點,沒有剪貼板通過使用。值或我堅持使用複製粘貼方法?
謝謝。我以前沒有聽說過數據倉庫。我現在就試一試。 .value是否可以在沒有剪貼板的情況下工作? – Scionara
我只是試過它,當它到達與wrkBk.Worksheets(「存檔」)。ListObjects(「存檔」)它給出了一個錯誤'9'「下標超出範圍」 – Scionara
我剛剛查看了當地人的工作表' listobject'並找到了'databodyrange'坐在那裏。包含與正常範圍相同的信息,所以我試了一下。它確實使用剪貼板(使用'Copy')。 –