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
回答你的问题“为什么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")
这里是VBA新手。 谢谢你的教育!
试图将一个范围从Sheet1复制到31张表上的相同范围,但仍然得到“运行时错误1004:工作表类的粘贴方法失败”,调试器指示是问题所在。我可以复制到一张单张没有问题,但不能复制到多张。我试着到处找,但不知道问题是什么(可能也很简单)。
2,3和6-12被跳过。下面是我的代码: 我认为这个问题与行“wb1.sheets(1).Range(”a“&Range(”a1“).end(xlDown).row+1)”有关,但我不知道如何解决这个问题。有什么建议吗?谢谢!
所以在问这个之前,我搜索并发现了一些与我在这里想要做的相似的事情。 基本上我有工作簿AlphaMaster。这个工作簿是一个模板,我想用它来创建每周的新工作簿。 在本工作簿中,有名为“周一至周六”的工作表,以及带有相应日期的周一、周二等其他工作表。 我创建了一个在打开工作簿时加载的表单。我想要的是当我单击表单运行时,它将: > 将代码保存模板作为新工作簿运行 根据userform1的输入重命名工作
我正试图从另一个excel文件复制工作表到其中一个工作表,但我得到了一个下标超出范围的错误。此错误来自行'.worksheet(1).usedrange.copy thisworkbook.worksheets(“sheet1”).range(“a1”)‘。