![](/img/trans.png)
[英]Using Python (and DataNitro) to copy cells from a particular sheet in one Excel workbook, to a particular sheet in another Excel workbook
[英]Copy all used cells from one workbook sheet to another existing workbook sheet
我正在尝试使用VBA将excel工作表中的所有已用单元格从已关闭的工作簿复制到当前工作簿中已创建的工作表中。
在将工作表复制为新工作表时看到了很多示例,而不仅仅是将使用的内容复制到现有工作表中。
谢谢! 麦克风
set wb = Workbooks.Open FileName:="fullPathAndFileName.xlsx", UpdateLinks:=0, ReadOnly:=True, AddToMru:=False
使用对要复制的工作表的引用,例如wb.Sheets(1)
(参考工作簿中的第一张工作表),以及对目标工作表的引用,例如。 destWorkSheet
运行如下循环:
For Each cel in wb.Sheets(1).UsedRange.Cells destWorkSheet.Cells(cel.Row, cel.Column) = cel Next
这会将单元格中的值复制到目标工作表中与源工作表中相同的位置。 您可能想先关闭计算。 当然,还有其他方法可以做到这一点。
您仍然需要打开源工作簿,但是另一种方法是直接编写值。 只要目标和源范围的大小和形状相同,就可以执行此操作。 此子例程将为您完成此操作:
Private Sub CopyValuesSourceToDest(src As Range, dest As Range)
'dest should be one cell, src can be a range of cells
If dest.Cells.Count <> 1 Then MsgBox "Only pass one cell as the destination.": Exit Sub
Dim rws As Long, cols As Long, trueDest As Range
rws = src.Rows.Count
cols = src.Columns.Count
Set trueDest = dest.Parent.Range(dest.Cells(1, 1), dest.Cells(1, 1).Offset(rws - 1, cols - 1))
trueDest.Value = src.Value
End Sub
然后,您可以这样调用子程序:
CopyValuesSourceToDest sourceSheet.UsedRange, destSheet.Range("B7") 'B7, or whatever
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.