-1

我想将数据从 csv 文件复制到 excel 工作表中。有 11 个 csv 文件。到目前为止,我有这个(它是前一篇文章的修改版本):

Sub importData()   
  Dim filenum(0 To 50) As Long
  filenum(0) = 052
  filenum(1) = 060
  filenum(2) = 064
  filenum(3) = 068
  filenum(4) = 070
  filenum(5) = 072
  filenum(6) = 074
  filenum(7) = 076
  filenum(8) = 178
  filenum(9) = 180
  filenum(10) = 182

  Dim sh1 As Worksheet
  On Error GoTo my_handler

  For lngPosition = LBound(filenum) To UBound(filenum)
    Windows(filenum & ".csv").Activate
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Windows("30_graphs_w_Macro.xlsm").Activate
    sh1 = Worksheets(filenum)
    sh1.Activate
    Range("A69").Select
    ActiveSheet.Paste
    Range("A69").Select

  Next lngPositionlngPositionlngPosition

my_handler:
  MsgBox "All done."
  Exit Sub
End Sub

但是,我在这里遇到类型不匹配:

Windows(filenum & ".csv").Activate

我不太确定如何解决它。除此之外,其余代码看起来还可以吗?这是我的第一个 VBA 脚本...

4

1 回答 1

1

Filenum 是一个数组,所以需要使用索引来引用它

Windows(filenum & ".csv").Activate是错的

改成:

filenum(lngPosition) 

或者

filenum(1)

还有你Next的错..

Next lngPositionlngPositionlngPosition

你一定是点击粘贴太多次了

于 2013-11-05T21:39:52.140 回答