如何将一系列单元格从一个工作表复制到其他24个工作表

时间:2014-05-02 13:32:00

标签: excel-vba vba excel

我想在其他18个工作表中复制特定范围的单元格。在下面的代码中我提到了“学生#1”,但总共有24张。我写的代码是这样的:

Sub copyrange()
Sheets("stn-1questions").Range("d1:f26").Copy Sheets("student#1").Range("d10")
End Sub

如果有人可以帮助我,我将不胜感激

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

Sub main()
Dim i As Integer
Dim strSheet As String
For i = 1 To 18
    strSheet = "student#" & Strings.Trim(Str(i))
    Call Sheets("stn-1questions").Range("d1:f26").Copy(Sheets(strSheet).Range("d10"))
Next i
End Sub

它将遍历每个工作表并将值复制到适当的位置

答案 1 :(得分:2)

这将遍历宏工作簿中的每个工作表,并将范围复制到包含" student#"的每个工作表。

Sub copyrange()
    Dim s As Worksheet

    ' Loop through all sheets in the workbook
    For Each s In ThisWorkbook.Sheets
        ' If the current sheet has the word "student#" in its name
        If InStr(s.Name, "student#") Then
            ' Copy the range D1:F26 to the current sheet
            Sheets("stn-1questions").Range("D1:F26").Copy s.Range("D10")
        End If
    Next
End Sub