Copy/Paste 计时器上的其他现有工作簿的数据
Copy/Paste data to other existing workbook on timer
我目前有这个 VBA -
Sub StartTimer()
Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc"
End Sub
Sub AutoCalc()
Application.CalculateFull
Sheets("Kine").Range("B603:E603").Copy _
Destination:=Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1")
Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc"
End Sub
.OnTime 命令在没有 Copy/Paste 部分的情况下工作得很好,这很棒。
这为我提供了一个来自 SQL 查询的值列表,该查询将自动更新,以及每列值底部的平均值。
我正在尝试进行设置,以便将平均值自动添加到 Minitab 中的列中,但我相信宏正在停止 Minitab 中的自动更新。
所以我的想法是将平均值复制粘贴到 Excel 没有自己的宏的工作簿中,然后 link 将其粘贴到 Minitab。
我是否输入了错误的复制粘贴代码,或者宏需要存储在哪里以及如何存储有问题?
快速编辑 - 我应该补充一点,当前代码给出 "Run-Time Error 9, Subscript out of range" 并突出显示 copy/paste 代码。
我找到了解决方案。
我的目标工作簿已在单独的 window 中打开,因此源未将其识别为打开的。有点噩梦!
有必要在 Excel 的同一个实例中打开两个工作簿。
另外,我原来的粘贴代码只粘贴了“#REF”。我已将其更改为 -
Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1").PasteSpecial xlValues
效果更好。
还有一件事,以防万一有人觉得它有用。源工作簿必须处于活动状态才能执行自动更新。
添加下行解决了大部分问题,尽管它仍在进行中 -
ThisWorkbook.Activate
我目前有这个 VBA -
Sub StartTimer()
Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc"
End Sub
Sub AutoCalc()
Application.CalculateFull
Sheets("Kine").Range("B603:E603").Copy _
Destination:=Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1")
Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc"
End Sub
.OnTime 命令在没有 Copy/Paste 部分的情况下工作得很好,这很棒。
这为我提供了一个来自 SQL 查询的值列表,该查询将自动更新,以及每列值底部的平均值。
我正在尝试进行设置,以便将平均值自动添加到 Minitab 中的列中,但我相信宏正在停止 Minitab 中的自动更新。
所以我的想法是将平均值复制粘贴到 Excel 没有自己的宏的工作簿中,然后 link 将其粘贴到 Minitab。
我是否输入了错误的复制粘贴代码,或者宏需要存储在哪里以及如何存储有问题?
快速编辑 - 我应该补充一点,当前代码给出 "Run-Time Error 9, Subscript out of range" 并突出显示 copy/paste 代码。
我找到了解决方案。
我的目标工作簿已在单独的 window 中打开,因此源未将其识别为打开的。有点噩梦!
有必要在 Excel 的同一个实例中打开两个工作簿。
另外,我原来的粘贴代码只粘贴了“#REF”。我已将其更改为 -
Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1").PasteSpecial xlValues
效果更好。
还有一件事,以防万一有人觉得它有用。源工作簿必须处于活动状态才能执行自动更新。
添加下行解决了大部分问题,尽管它仍在进行中 -
ThisWorkbook.Activate