Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何将一个范围(表A9到G30)从一张工作表(学生1)复制到所有其他23张工作表(学生24)_Excel_Vba - Fatal编程技术网

Excel 如何将一个范围(表A9到G30)从一张工作表(学生1)复制到所有其他23张工作表(学生24)

Excel 如何将一个范围(表A9到G30)从一张工作表(学生1)复制到所有其他23张工作表(学生24),excel,vba,Excel,Vba,将一个范围(从A9到G30的表格)从一张名为(student#1)的工作表复制到所有其他23张工作表(直到student#24),而不丢失格式的代码是什么。如果有人能帮助我,我对VBA完全陌生。您可以在一次操作中将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子: Sub Macro1() Sheets("Sheet1").Select Range("A9:G30").Select Selection.Copy Sheets(Array("Sheet2

将一个范围(从A9到G30的表格)从一张名为(student#1)的工作表复制到所有其他23张工作表(直到student#24),而不丢失格式的代码是什么。如果有人能帮助我,我对VBA完全陌生。

您可以在一次操作中将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子:

Sub Macro1()
    Sheets("Sheet1").Select
    Range("A9:G30").Select
    Selection.Copy
    Sheets(Array("Sheet2", "Sheet3")).Select
    Sheets("Sheet2").Activate
    Range("A9").Select
    ActiveSheet.Paste
End Sub
使用您自己的工作表名称并展开此行:

Sheets(Array("Sheet2", "Sheet3")).Select

为了满足您的需要

您可以通过一次操作将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子:

Sub Macro1()
    Sheets("Sheet1").Select
    Range("A9:G30").Select
    Selection.Copy
    Sheets(Array("Sheet2", "Sheet3")).Select
    Sheets("Sheet2").Activate
    Range("A9").Select
    ActiveSheet.Paste
End Sub
使用您自己的工作表名称并展开此行:

Sheets(Array("Sheet2", "Sheet3")).Select

为了满足您的需要

您可以通过一次操作将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子:

Sub Macro1()
    Sheets("Sheet1").Select
    Range("A9:G30").Select
    Selection.Copy
    Sheets(Array("Sheet2", "Sheet3")).Select
    Sheets("Sheet2").Activate
    Range("A9").Select
    ActiveSheet.Paste
End Sub
使用您自己的工作表名称并展开此行:

Sheets(Array("Sheet2", "Sheet3")).Select

为了满足您的需要

您可以通过一次操作将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子:

Sub Macro1()
    Sheets("Sheet1").Select
    Range("A9:G30").Select
    Selection.Copy
    Sheets(Array("Sheet2", "Sheet3")).Select
    Sheets("Sheet2").Activate
    Range("A9").Select
    ActiveSheet.Paste
End Sub
使用您自己的工作表名称并展开此行:

Sheets(Array("Sheet2", "Sheet3")).Select

为了满足您的需要

以下是我可以解决的问题:

Sub CoolStuff()

'set the start sheet and range up-front
Dim MySheet As Worksheet
Dim MyRange As Range
Set MySheet = ThisWorkbook.Worksheets("student#1")
Set MyRange = MySheet.Range("A9:G30")

'loop through all sheets and paste your range
Dim ws As Worksheet
Dim ra As Range
For Each ws in ThisWorkbook.Worksheets
    If ws.Name <> "student#1"
        Set ra = ws.Range("A9:G30")
        MyRange.Copy ra
    End If
Next ws

End Sub
Sub-CoolStuff()
'将起始页和范围设置在前面
将我的工作表设置为工作表
将MyRange变暗为Range
设置MySheet=thishworkbook.Worksheets(“学生1”)
设置MyRange=MySheet.Range(“A9:G30”)
'循环浏览所有工作表并粘贴您的范围
将ws设置为工作表
调光范围
对于此工作簿中的每个ws。工作表
如果ws.名称为“学生#1”
设置ra=ws.范围(“A9:G30”)
MyRange,收到ra
如果结束
下一个ws
端接头

以下是我可以解决的问题:

Sub CoolStuff()

'set the start sheet and range up-front
Dim MySheet As Worksheet
Dim MyRange As Range
Set MySheet = ThisWorkbook.Worksheets("student#1")
Set MyRange = MySheet.Range("A9:G30")

'loop through all sheets and paste your range
Dim ws As Worksheet
Dim ra As Range
For Each ws in ThisWorkbook.Worksheets
    If ws.Name <> "student#1"
        Set ra = ws.Range("A9:G30")
        MyRange.Copy ra
    End If
Next ws

End Sub
Sub-CoolStuff()
'将起始页和范围设置在前面
将我的工作表设置为工作表
将MyRange变暗为Range
设置MySheet=thishworkbook.Worksheets(“学生1”)
设置MyRange=MySheet.Range(“A9:G30”)
'循环浏览所有工作表并粘贴您的范围
将ws设置为工作表
调光范围
对于此工作簿中的每个ws。工作表
如果ws.名称为“学生#1”
设置ra=ws.范围(“A9:G30”)
MyRange,收到ra
如果结束
下一个ws
端接头

以下是我可以解决的问题:

Sub CoolStuff()

'set the start sheet and range up-front
Dim MySheet As Worksheet
Dim MyRange As Range
Set MySheet = ThisWorkbook.Worksheets("student#1")
Set MyRange = MySheet.Range("A9:G30")

'loop through all sheets and paste your range
Dim ws As Worksheet
Dim ra As Range
For Each ws in ThisWorkbook.Worksheets
    If ws.Name <> "student#1"
        Set ra = ws.Range("A9:G30")
        MyRange.Copy ra
    End If
Next ws

End Sub
Sub-CoolStuff()
'将起始页和范围设置在前面
将我的工作表设置为工作表
将MyRange变暗为Range
设置MySheet=thishworkbook.Worksheets(“学生1”)
设置MyRange=MySheet.Range(“A9:G30”)
'循环浏览所有工作表并粘贴您的范围
将ws设置为工作表
调光范围
对于此工作簿中的每个ws。工作表
如果ws.名称为“学生#1”
设置ra=ws.范围(“A9:G30”)
MyRange,收到ra
如果结束
下一个ws
端接头

以下是我可以解决的问题:

Sub CoolStuff()

'set the start sheet and range up-front
Dim MySheet As Worksheet
Dim MyRange As Range
Set MySheet = ThisWorkbook.Worksheets("student#1")
Set MyRange = MySheet.Range("A9:G30")

'loop through all sheets and paste your range
Dim ws As Worksheet
Dim ra As Range
For Each ws in ThisWorkbook.Worksheets
    If ws.Name <> "student#1"
        Set ra = ws.Range("A9:G30")
        MyRange.Copy ra
    End If
Next ws

End Sub
Sub-CoolStuff()
'将起始页和范围设置在前面
将我的工作表设置为工作表
将MyRange变暗为Range
设置MySheet=thishworkbook.Worksheets(“学生1”)
设置MyRange=MySheet.Range(“A9:G30”)
'循环浏览所有工作表并粘贴您的范围
将ws设置为工作表
调光范围
对于此工作簿中的每个ws。工作表
如果ws.名称为“学生#1”
设置ra=ws.范围(“A9:G30”)
MyRange,收到ra
如果结束
下一个ws
端接头

我喜欢@Dan Wagner的解决方案,但我会做一些不同的事情。通过将要复制的值保存为变量,只需查找一次。你可以从第二张纸开始再优化一点。这就避免了为每张图纸计算
if
语句

Sub CopyRangeToAllSheets()

    Dim x()
    x = ActiveWorkbook.Sheets(1).Range("A9:G30").Value

    Dim n As Long
    For n = 2 To ActiveWorkbook.Sheets.Count
       ActiveWorkbook.Sheets(n).Range("A9:G30").Value = x
    Next n

End Sub

我喜欢@Dan Wagner的解决方案,但我会做一些不同的事情。通过将要复制的值保存为变量,只需查找一次。你可以从第二张纸开始再优化一点。这就避免了为每张图纸计算
if
语句

Sub CopyRangeToAllSheets()

    Dim x()
    x = ActiveWorkbook.Sheets(1).Range("A9:G30").Value

    Dim n As Long
    For n = 2 To ActiveWorkbook.Sheets.Count
       ActiveWorkbook.Sheets(n).Range("A9:G30").Value = x
    Next n

End Sub

我喜欢@Dan Wagner的解决方案,但我会做一些不同的事情。通过将要复制的值保存为变量,只需查找一次。你可以从第二张纸开始再优化一点。这就避免了为每张图纸计算
if
语句

Sub CopyRangeToAllSheets()

    Dim x()
    x = ActiveWorkbook.Sheets(1).Range("A9:G30").Value

    Dim n As Long
    For n = 2 To ActiveWorkbook.Sheets.Count
       ActiveWorkbook.Sheets(n).Range("A9:G30").Value = x
    Next n

End Sub

我喜欢@Dan Wagner的解决方案,但我会做一些不同的事情。通过将要复制的值保存为变量,只需查找一次。你可以从第二张纸开始再优化一点。这就避免了为每张图纸计算
if
语句

Sub CopyRangeToAllSheets()

    Dim x()
    x = ActiveWorkbook.Sheets(1).Range("A9:G30").Value

    Dim n As Long
    For n = 2 To ActiveWorkbook.Sheets.Count
       ActiveWorkbook.Sheets(n).Range("A9:G30").Value = x
    Next n

End Sub

欢迎听起来像是
Range.Copy
就可以了,这是一篇关于它的MSDN文章:我想把它复制到所有其他23张纸上,而不丢失格式。上面的MSDN文章显示了复制到另一个工作表的示例(而我希望复制到所有其他23个工作表)。有什么线索吗?您可以使用
工作表
收集对象进行该循环。我会在回答中写一个简短的便条。如果答案适合你,请在你方便的时候接受。这里有一个截图形式的超级快速解释:欢迎!听起来像是
Range.Copy
就可以了,这是一篇关于它的MSDN文章:我想把它复制到所有其他23张纸上,而不丢失格式。上面的MSDN文章显示了复制到另一个工作表的示例(而我希望复制到所有其他23个工作表)。有什么线索吗?您可以使用
工作表
收集对象进行该循环。我会在回答中写一个简短的便条。如果答案适合你,请在你方便的时候接受。这里有一个截图形式的超级快速解释:欢迎!听起来像是
Range.Copy
就可以了,这是一篇关于它的MSDN文章:我想把它复制到所有其他23张纸上,而不丢失格式。上面的MSDN文章显示了复制到另一个工作表的示例(而我希望复制到所有其他23个工作表)。有什么线索吗?您可以使用
工作表
收集对象进行该循环。我会在回答中写一个简短的便条。如果回答适合你,请在你的女修道院接受