当前位置: 首页 > 知识库问答 >
问题:

VBA将Excel范围复制到不同的工作簿

邹山
2023-03-14
currentWorksheet = xlWorkBook.Sheets.Item("Command Group")
excelRange = currentWorksheet.Range("A6:J21")
excelDestination = newXlSheet.Range("A6:J21")
excelRange.Copy(excelDestination)
Dim xRng As Excel.Range = CType(currentWorksheet.Cells(7, 7), Excel.Range)
Console.WriteLine(xRng.ToString)
Dim val As Object = xRng.Value()
testString = val.ToString
Console.WriteLine(testString)
newXlSheet.Cells(1, 1) = testString

共有1个答案

葛霄
2023-03-14

回答你的问题“为什么B在运行,而A不在运行”…

在:currentworksheet=xlworkbook.sheets.item(“命令组”)

首先,缺少用于对象分配的。其次,您正在使用workbook.sheets.item(),它返回一个sheets对象Sheets对象可以表示图表表或工作表,因此没有.range()方法。

您可以通过单步执行以下代码来验证这一点:

Dim currentWorksheet As Sheets
Set currentWorksheet = ThisWorkbook.Sheets.Item("Command Group")
excelRange = currentWorksheet.Range("A1:A21")

它将出错,并告诉您找不到该方法。

要修复a:确保通过使用强键入返回一个工作表对象。

Dim currentWorksheet as Worksheet
Set currentWorksheet = ThisWorkbook.Sheets.Item("Command Group")
Dim currentWorksheet as Worksheet
Set currentWorksheet = ThisWorkbook.Sheets("Command Group")
 类似资料: