Excel VBA:将单元格从工作表复制到新工作表的代码

时间:2014-08-31 07:33:13

标签: excel excel-vba vba

我有以下代码来创建工作表并从主工作表中的特定列表重命名 我需要一个帮助来添加一个代码来复制另一张纸上的一些单元格(工资单),这些单元格中的每一张都是害虫

Sub CreateSheetsFromAList()
    Dim MyCell As Range, MyRange As Range
    Set MyRange = Sheets("MASTER").Range("E9:E27")
    Set MyRange = Range(MyRange, MyRange.End(xlDown))

    For Each MyCell In MyRange
        Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet
        Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet

    Next MyCell
End Sub

2 个答案:

答案 0 :(得分:0)

应该复制“Pay Slip”中的哪些单元格? 例如,我假设您要复制单元格(1,1)和&来自“Pay Slip”的单元格(2,1)被复制到新单元格。

修改您的代码,如下所述。

For Each MyCell In MyRange
    Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet
    Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet

    ''''Include the Copy steps from PaySlip sheet below this
    Sheets(Sheets.Count).cells(1,1) = Sheets("Pay Slip").cells(1,1)
    Sheets(Sheets.Count).cells(2,1) = Sheets("Pay Slip").cells(2,1)

Next MyCell

答案 1 :(得分:0)

你可以使用.Copy& .PasteSpecial方法的Range-object ..这里有一个简单的例子 -

Sub copySomeRange(r As Range, target As Range)
r.Copy
target.PasteSpecial Paste:=xlPasteAll
End Sub

Sub callMeExample()
Call copySomeRange(Range("A1:A5"), Range("B1"))
End Sub

第一个Sub()执行复制,因此U可以按原样使用该部分代码。只需将您的逻辑添加到要复制的内容中。