我有两个工作簿,该工作簿由多个工作表组成,每个工作表都包含在(B7:P100)
范围内从工作表到工作表不同的数据。我需要将每个工作表范围的数据复制到相应的工作表,并在其他工作簿中范围。
以下代码实现了这一点:但是,在我看来,可能有一种更优雅的方法可以完成相同的结果。我逐渐熟练地精通VBA编程的蛮力和无知方法,但希望更好地理解VBA。我试图使用3D数范围的范围;但是很明显,我不完全理解复杂的阵列。
以下代码缩写以节省空间。(必须复制18个工作表(
您能否提出一种更优雅或更高效的方法(或方法(来完成任务?感谢您的评论。
Workbooks("Nutrition Update.xlsm").Worksheets("Breakfast").Range("B7:P100").Value = _
Workbooks("Nutrition.xlsm").Worksheets("Breakfast").Range("B7:P100").Value
Workbooks("Nutrition Update.xlsm").Worksheets("Lunch").Range("B7:P100").Value = _
Workbooks("Nutrition.xlsm").Worksheets("Lunch").Range("B7:P100").Value
Workbooks("Nutrition Update.xlsm").Worksheets("Dinner").Range("B7:P100").Value = _
Workbooks("Nutrition.xlsm").Worksheets("Dinner").Range("B7:P100").Value
Sub CopyStuff
Dim wbSource as Workbook
Dim wbTarget as Workbook
set wbsource = workbooks("Nutrition Update.xlsm")
set wbtarget = workbooks("Nutrition.xlsm")
dim ws as worksheet
for each ws in wbsource.worksheets 'loop through every sheet
wbtarget(ws.name).range("B7:P100") = ws.range("b7:p100").value 'copy to same name in target
next ws
end sub