Excel 如何将一个范围(表A9到G30)从一张工作表(学生1)复制到所有其他23张工作表(学生24)
将一个范围(从A9到G30的表格)从一张名为(student#1)的工作表复制到所有其他23张工作表(直到student#24),而不丢失格式的代码是什么。如果有人能帮助我,我对VBA完全陌生。您可以在一次操作中将一个工作表范围复制到多个工作表。您不需要循环。以下是一个例子: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
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个工作表)。有什么线索吗?您可以使用工作表
收集对象进行该循环。我会在回答中写一个简短的便条。如果回答适合你,请在你的女修道院接受