vba如何将指定的workbook激活为active

我打开了两个workbook,然后我想对其中一个进行操作的时候是不是要先让其变为activeworkbook?Workbooks.OpenFilename:=aWorkb... 我打开了两个workbook,然后我想对其中一个进行操作的时候是不是要先让其变为activeworkbook?
Workbooks.Open Filename:=a
Workbooks.Open Filename:=b

我现在写的是Workbooks(a).Activate,想让a成为active,其中a为excel的完整路径,如c:\xxx\xxx\a
调试的时候提示说out of range
请问该怎么操作,急求谢谢
展开
 我来答
鱼木混猪哟
高粉答主

推荐于2017-09-14 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33696

向TA提问 私信TA
展开全部
用Activate方法可激活,例如:
workbooks("Book1").Activate

关于Activate的相关知识:
应用于 Application、Document、InlineShape、OLEFormat、Pane、Shape、ShapeRange 和 Window对象的 Activate方法。
激活指定的对象。
expression.Activate
expression 必需。该表达式返回以上的一个对象。
百度网友fe6d0b6
2013-12-11 · TA获得超过275个赞
知道小有建树答主
回答量:397
采纳率:75%
帮助的人:269万
展开全部
你这个文件是打开的么?
还有Workbooks有根据name取Workbook的方法,name是文件名而不是绝对路径名的。
追问
那请问怎么获取它的文件名呢?
追答
你不知道文件名,那怎么确定要把那个窗口设置为激活呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
推荐于2017-09-11 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
dim wbA, wbB
Workbooks.Open Filename:=a
set wbA=ActiveWorkbook
Workbooks.Open Filename:=b
set wbB=ActiveWorkbook

......

wbA.Activate

wbB.Activate
追问
额。。提示说object required
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zengxp0605
2013-12-11 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:50%
帮助的人:30.5万
展开全部
Workbooks(a).Activate 这里的 a 不需要是完整路径,只要工作薄名称就行了
追问
那有什么办法获取workbook的名称么
追答
Set  fso = CreateObject("Scripting.FileSystemObject")
a=fso.GetBaseName(完整路径字符串)

上面得到a的名称,或者直接像楼上的
set wbA=Workbooks.Open (a) ‘这里a 用全路径就行

wbA.Activate
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式