【发布时间】:2019-11-10 03:08:33
【问题描述】:
我在 CAD 程序中使用 vba 来导出数据、对数据进行排序和添加数据。下面的宏正是我想要excel做的。但是我相信我仅限于让 CAD 程序通过 VBA 告诉 Excel 要做什么。此宏复制一个公式并将其粘贴到列中它下方的所有已填充单元格中。
宏代码:
Range("B1").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
iLogic 代码版本:
oBook.WorkSheets(1).Name = "Order List"
oBook.WorkSheets(2).Name = "Cut List"
wSheet1 = oBook.WorkSheets("Order List")
wSheet2 = oBook.WorkSheets("Cut List")
wSheet2.Activate
wSheet2.Range("B1").Select
wSheet2.Selection.Copy
wSheet2.Range(Selection, Selection.End(xlDown)).Select
wSheet2.Selection.Paste
不幸的是,我似乎遗漏了要在 Inventor 和 Excel 之间进行转换的内容,但我什至不知道这是否是问题所在。 非常感谢任何建议,因为我对 VBA 还是很陌生。
【问题讨论】:
-
见this post。你想避免
Select和Activate。此外,Selection可能对 Inventor 没有任何意义,如果它确实如此,那么它与Selection在 Excel 中托管时的意义不同。您需要创建wSheet2.Application.Selection,或者如果您有对Excel.Application的引用(您应该),然后使用该对象变量来限定 Excel 中的所有全局内容。