将值从工作表中的单元格复制到一系列单元格中

Cenderze

我打算执行一个宏,该宏将从指定的路径打开一个工作簿,并循环浏览其工作表,该工作表的名称专门为“ Januari,Februari,Mars”,以从C34中扣除该值。C34每次都会在其中记录一个值,因此它不应更改。但是我想将其复制到当前工作表中,第一个目标应在AA73处,第二个目标应在AA74等处。我的代码是

Sub Test()
     Dim myHeadings
     Dim i As Long
     Dim path As String
     path = "C:\pathtofile\file.xlsx"
     Dim currentWb As Workbook
     Set currentWb = ActiveWorkbook
     Dim openWb As Workbook
     Set openWb = Workbooks.Open(path)
     Dim openWs As Worksheet

     myHeadings = Array("Januari", "Februari", "Mars")

     For i = 0 To UBound(myHeadings)
       Set openWs = openWb.Sheets("&i")

       currentWb.Sheets("Indata").Range("AA73+Application.Match(i,Array,False)").Value = openWs.Range("C34").Value

    Next i
 End Sub

但是编译器说下标超出了行的范围

Set openWs = openWb.Sheets("&i")

在这里,我尝试做“ i”,“ i”和“ i”,但是并没有改变。另外,我尝试使用“ ThisWorkbook”代替“ ActiveWorkbook”,但它也无济于事。是否有人对如何以更适当的方式实现这一目标有所投入?

编辑:适应Dave的响应,它可以导入工作表。但是我得到一个错误:

currentWb.Sheets("Indata").Range("AA73+Application.Match(i,Array,False)").Value = openWs.Range("C34").Value

在上述代码段中出现自动化错误-2147221080(800401a8)的地方。

戴夫

您已经将工作表名称放入一个数组中,因此您可以通过以下方式从该数组中调用工作表名称:

Set openWs = openWb.Sheets(myHeadings(i))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将执行时定义的一系列单元格复制到数组中

Excel将一系列单元格值复制到剪贴板

将具有一系列列中的值的所有单元格复制到一个列中

使用VBA将一系列单元格从封闭的工作簿复制到已经包含正文的Outlook电子邮件中?

将公式复制到一系列单元格并将其转换为值

将单元格值复制到新工作表中,但不复制格式

在另一个工作簿中查找值并复制/粘贴一系列单元格

如果工作表中的 3 列值相同,如何将单元格内容从多行复制到一个单元格中?

如何将一系列单元格存储到阵列中?

将函数插入到一系列单元格中

将数组中的值传递给Google Spreadsheet上的一系列单元格

复制一系列单元格而不是整个工作表

从执行时定义的一系列单元格中复制与内部颜色匹配的单元格 (ExcelVBA)

将编辑过的单元格中的值复制到新单元格

从原始工作表中删除单元格后,将单元格内容复制到另一个工作表而不会丢失内容

选择并复制一系列单元格

需要将单元格值复制到html表中的另一个单元格

Excel VBA在列中重复复制和粘贴一系列单元格

R - 将值从单元格复制到同一列中的空单元格

将单元格值复制到“ B”列中的第一个空单元格

根据其他匹配的单元格将值复制到一个单元格中

使用循环将一个单元格的值复制到多个单元格中

将templete复制到新的工作表中,并使用单元格中的名称

VBA循环将工作表中的单元格复制到主表中

如何使用 Excel VBA 中的循环更新一系列单元格中的值

VBA代码将具有颜色的单元格复制到同一工作表中的不同单元格

如何将附加值复制到 Excel 工作表中的单元格

Google Sheets Apps 脚本:将选定的单元格复制到新的工作表中

一系列单元格的重复值