Excel VBA将某些列复制到其他工作表

时间:2018-10-15 10:50:48

标签: excel vba excel-vba

我已经使用excel中包含的记录功能创建了一个宏,用于将信息从一张纸复制到另一张纸。

说明:

工作表A的A列需要复制到工作表B的A列 工作表A的B列需要复制到工作表B的B列 工作表A的I列需要复制到工作表B的C列 工作表A的K和J列需要复制到工作表B的E列

下面的脚本仅在特定范围内起作用。 是否可以让范围取决于工作表A的数据范围(因此,如果值从第1行到第589行,只需将这些行复制到工作表B?)

目前为止包含在下面的脚本。

预先感谢:)

Sub Hulpwerkblad()
'
' Hulpwerkblad Macro
'
' Sneltoets: Ctrl+Shift+H
'
Sheets("Hulpwerkblad").Select
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "='samenvattende meetstaat'!RC"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "='samenvattende meetstaat'!RC"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "='samenvattende meetstaat'!RC[6]"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = _
        "=CONCATENATE('gedetailleerde meetstaat'!RC[6],'gedetailleerde meetstaat'!RC[5])"
    Range("E2").Select
    Columns("E:E").EntireColumn.AutoFit
    Range("A1").Select
    Selection.AutoFill Destination:=Range("A1:A33"), Type:=xlFillDefault
    Range("A1:A33").Select
    Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B33"), Type:=xlFillDefault
    Range("B1:B33").Select
    Range("C1").Select
    Selection.AutoFill Destination:=Range("C1:C33"), Type:=xlFillDefault
    Range("C1:C33").Select
    Range("E1").Select
    Selection.AutoFill Destination:=Range("E1:E33"), Type:=xlFillDefault
    Range("E1:E33").Select
End Sub

1 个答案:

答案 0 :(得分:0)

是否可以让范围取决于工作表A的数据范围 (因此,如果值从第1行到第589行,只需将这些行复制到 工作表B?)

目前为止包含在下面的脚本。

预先感谢:)

亲爱的Stoepsteen

尝试

     Sub cop()
Dim r1 As Worksheet
Dim r2 As Worksheet
Set r1 = ThisWorkbook.Worksheets(1)
Set r2 = ThisWorkbook.Worksheets(2)

r1.[a1].CurrentRegion.Copy r2.[a1]     

End Sub