【发布时间】:2012-01-09 11:20:56
【问题描述】:
在我的 Excel 工作表中,我使用了引用外部工作表的公式。
我不想手动更改单元格E7 中的值(我在其中插入外部工作表的名称),而是想编写一个宏来打开所有外部工作表,更改E7 中的参考值并复制生成的值。
很遗憾,我的代码不起作用 - Excel 无法“看到”外部工作表中的值。 我应该改变什么?
Sub lista_plik()
Dim oExcel As Excel.Application
Dim oWB As Workbook
Set oExcel = New Excel.Application
folder = "path_here"
folder2 = folder & "*.xlsx"
arkusz = Dir(folder2)
Do While arkusz <> ""
x = x + 1
Range("E7").Value = Replace(arkusz, ".xlsx", "")
arkusz = folder & arkusz
Set oWB = oExcel.Workbooks.Open(arkusz)
''''''''''''''''''''
HERE CODE TO COPY VALUES
'''''''''''''''''''''''
oWB.Close
arkusz = Dir
Loop
End Sub
【问题讨论】:
-
目前还不清楚(至少对我而言)您想要做什么,以及您在这里缺少什么。
E7将使用您打开的每个新工作台名称(而不是工作表)进行更新和覆盖。你想复制什么值?对于同一张纸,新纸等?请发布更多信息 -
为什么不在同一个 Excel 会话中打开另一个 wb?此外,您应该使用相关的工作簿来限定您的所有 Range(),否则会导致混淆......