【发布时间】:2015-10-21 03:54:04
【问题描述】:
使用五列的 Excel 工作表,基于过滤第三个,我必须将第五个中的数据复制到另一个 Excel 工作表。
我做了这样的事情,但过滤后我无法复制第五列的特定数据:
DataTable.AddSheet "Sheet1"
DataTable.ImportSheet "A:\Data.xlsx","Sheet1","Sheet1"
RowCount= DataTable.GetSheet("Sheet1").GetRowCount
Set objexcel = CreateObject("excel.application")
Set objWorkbook = objExcel.WorkBooks.Open ("A:\Data.xlsx")
Set objSheet = objWorkbook.Worksheets(1)
objexcel.Visible=false
objexcel.Rows(1).Insert
objexcel.Columns(2).Insert
objexcel.Columns(2).Insert
objSheet.cells(1,1).value="Minutes Interval"
objSheet.cells(1,2).value="Hour Interval"
objSheet.cells(1,3).value="Hourly Filter"
objSheet.cells(1,4).value="HH:MM:SS"
objSheet.cells(1,5).value="Weight(g)"
For i = 2 To RowCount+2 Step 1
objSheet.cells(i,2).value="=A"&i&"/60"
objSheet.cells(i,3).value="=INT(B"&i&")=B"&i
Next
ObjSheet.cells(2,3).autofilter 3,"True"
Set objRange = objSheet.Range("A1")
objWorkbook.Worksheets(1).UsedRange.Copy '--- to copy entire sheet data to AnotherExcel2
Set objWorkbookn= objExcel.Workbooks.Open ("A:\IntermediateExcel.xlsx")
Set objSheetn = objWorkbookn.Worksheets(1)
objWorkbookn.Worksheets(1).Range("A1").PasteSpecial Paste =xlValues '-- pasted here on AnotherExcel2
Set objRange = objSheet.Range("E2").EntireColumn '-- here selected 5th column entirely
objRange.Copy '-- copied 5th column
Set objWorkbook2= objExcel.Workbooks.Open ("A:\Result.xlsx")
objWorkbook2.Worksheets(1).Range("E2").PasteSpecial Paste =xlValues '-- pasted to resultant excelsheet
objWorkbook.save
objWorkbook.close
objWorkbook2.save
objWorkbook2.close
objWorkbookn.save
objWorkbookn.close
Set objWorkbook = nothing
Set objexcel = nothing
【问题讨论】: