在执行宏/vba时,如何将它们应用于合并的单元格?
我有一个问题:昨天这个论坛的一位成员为我的问题提供了一个很好的解决方案。我有两本类似的excel工作簿,每本都有100多张工作表,工作表名称相同。我希望VBA将数据从工作簿A中的工作表A复制到工作簿B中的工作表B在执行宏/vba时,如何将它们应用于合并的单元格?,vba,cells,Vba,Cells,我有一个问题:昨天这个论坛的一位成员为我的问题提供了一个很好的解决方案。我有两本类似的excel工作簿,每本都有100多张工作表,工作表名称相同。我希望VBA将数据从工作簿A中的工作表A复制到工作簿B中的工作表B Sub GetDate() Dim workbookA As Workbook, workbookB As Workbook, sheetA As Worksheet, sheetB As Worksheet, ws As Worksheet, sheetName As
Sub GetDate()
Dim workbookA As Workbook, workbookB As Workbook, sheetA As Worksheet, sheetB As Worksheet, ws As Worksheet, sheetName As String
Set workbookA = Workbooks("clients.xls")
Set workbookB = Workbooks("KYC.xls")
'Loop through each worksheet in Book A
For Each ws In workbookB.Worksheets
Set sheetA = workbookA.Worksheets(ws.Name)
Set sheetB = workbookB.Worksheets(ws.Name)
sheetA.Range("C5").Copy sheetB.Range("E31")
Next
End Sub
我想再次使用它从另一个单元格中获取另一个值,并每次将其插入相应工作表的工作簿B中。问题是,在工作簿A上,我要复制的单元格是合并单元格,目标单元格也是合并单元格。我试图为每个合并的单元格命名,但似乎无法命名。如果可以解决,有人能帮忙吗
谢谢试试看
sheetA.Range("C5").MergeArea.Copy ' copies the merged cells that include C5
sheetB.Range("E31").PasteSpecial ' pastes what was copied into E31 and any merged cells it is part of
我刚试过。首先它说“这里已经有数据了,你想替换它吗?”没有数据,但不管怎样,我按“是”,然后它说“运行时错误:你不能对合并的单元格这样做。这对我来说在Excel 2013上很好。试着使用.PasteSpecial。如果你想忽略此警报,请将其放在子应用程序的开头。DisplayAlerts=False“-别忘了把它还原成真的我对VBA很无知。你是想这样写吗?”?表格A.范围(“C6”).MergeArea.Copy表格B.范围(“B8”).MergeArea或类似的?sheetA.Range(“C6”).MergeCells.Copy sheetB.Range(“B8”).MergeCells.Paste SpecialI注意到,如果目标单元格未合并,则VBA工作。但是,由于我复制粘贴了一个地址,如果它们没有合并,它看起来很糟糕。完全按照答案中显示的内容编写-将范围地址更改为您想要的地址-不要更改代码的其余部分。