好的,我有一个excel宏来处理大量数据并制作大量图表。我继承了最近退休的人的代码,而代码功能效率非常低,所以我重写它。我试图解决的一件事是他激活/选择了一切。我更喜欢使用引用,从不选择/激活任何东西。
但是我遇到了一个问题,当我创建一个新的工作簿或图表时,它会从原始工作簿中窃取焦点。这很烦人,因为我通常不会在我的主工作簿的参考文献中添加工作簿对象。
例如,当我使用这些行时,新图表/工作簿变为活动
Set wb = Workbooks.Add
或Set wC = wb.Charts.Add
然后我使用Workbooks(FileName).Activate
重新激活原始工作簿
我觉得每次都必须这样做很烦人,并且想知道是否有办法防止新对象变为活动状态。
编辑:我刚刚意识到其他操作会导致图表窃取焦点,例如使用此命令移动图表wC.Move After:=wb.Worksheets(wb.Worksheets.Count)
答案 0 :(得分:1)
如果您在新工作表之后声明旧工作表,我相信这可以完成您想要的工作。例如,
Dim newWst As Worksheet
Dim oldWsk As Worksheet
Set newWst = Worksheets.Add
Set oldWst = Worksheets("Sheet1")
Cells(1, 1) = "Test"
为我工作。它在旧工作表中添加了“测试”。