excel - Excel VBA - 如何在循环中将数据复制到特定单元格

我正在处理一个工作簿中包含许多不同工作表的数据。纸张的数量可能会有所不同。

我想创建一个宏,将所有数据组合到一张表中,然后将数据类型的名称复制到每组数据的顶部。

我已经完成了第一部分,但是在复制数据和索引列时遇到了问题。基本上,我正在从源书中复制一个单元格,并且我想粘贴到 A1、B1、C1、.......Z1 (或者有许多独特的数据点)。

有没有办法对列进行索引?这是代码:

Sub ImportData()
   Dim FileLocation As String
   Dim s As Integer
   Dim wb As Workbook
   Dim finalRow As Integer
   Dim n As Integer
   Dim k As Integer

    
    FileLocation = Application.GetOpenFilename
    If FileLocation = "False" Then
        Beep
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    Set wb = Workbooks.Open(Filename:=FileLocation)
    
    s = wb.Sheets.Count
    'MsgBox (s)
    
    
    'Find how many rows of data there are
        
    finalRow = Range("A100000").End(xlUp).Row
    'MsgBox (finalRow)
    
    'import date
    wb.Worksheets(1).Range("C3:C" & finalRow).Copy ThisWorkbook.Worksheets(1).Range("A1")
    
    n = 1
  
    'Import the data from each tab onto 1 sheet
    For n = 1 To s
    wb.Worksheets(n).Range("D3:D" & finalRow).Copy ThisWorkbook.Worksheets(1).Columns(n + 1)
    'MsgBox (n)
    
    Next n
    
    k = 1
    
    
    'copy column title
     For k = 1 To s
    wb.Worksheets(k).Range("A4").Copy ThisWorkbook.Worksheets(1).Columns(k + 1)
    'MsgBox (k)
    
    Next k
   
End Sub

回答1

wb.Worksheets(n).Range("D3:D" & finalRow).Copy ThisWorkbook.Worksheets(1).Cells(1,n)

' 使用 Cells(rowNum,colNum) 而不是 Columns

似乎您可以将一个用于下一个而不是两个

相似文章