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

问题描述 投票:0回答:1

我用excel中自带的记录功能创建了一个宏,将信息从一张表复制到另一张表,请问这个宏的作用是什么?

解释。

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

下面的脚本只在一个特定的范围内工作,是否可以让范围取决于工作表A的数据范围?是否可以让这个范围取决于工作表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
excel vba excel-vba
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.