关于通过VBA代码来对其他未打开的工作簿进行操作的问题

我想写了一个代码,将当前打开的A工作簿的数据写入另外一个B工作簿中,但是不打开B工作簿。我知道可以用getobject来实现:在不打开B工作簿的情况下将B工作簿的数据引用... 我想写了一个代码,将当前打开的A工作簿的数据写入另外一个B工作簿中,但是不打开B工作簿。
我知道可以用getobject来实现:在不打开B工作簿的情况下将B工作簿的数据引用至A工作簿中, 但是反过来,能不能在不打开B工作簿的前提下将数据写入到B工作簿中呢? 急急急~~~
高手如果可以回答,麻烦按这个例子来写出简单的代码:将A工作簿的A1单元格的数据写入至B工作簿的B2单元格中,但是并不在后台或界面中打开B工作簿
重重有赏~~~
展开
 我来答
阳光上的桥
2014-05-05 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
getobject其实也打开了文件的,只是新窗口隐藏而已,理论上查看和修改任何文件都必须得先打开。

用getobject不变调试,建议用常规方法处理,可以打开的时候停止屏幕显示,例如:
Application.ScreenUpdating = False
Set wb = Workbooks.Open("b.xls")
wb.Sheets(1).Cells(2, 2) = "xxx" '只是一个举例,因为不知道你现有变量的名称,怎么操作都是可以的
wb.save
wb.Close
Application.ScreenUpdating = True
更多追问追答
追问
谢谢你,我目前代码也是这么写,不过就没有 Set wb = Workbooks.Open("b.xls")
这一句。

然后运行之后,被写入的文件(B工作簿)再也打不开了,提示说存在隐含的风险(其实是打得开,只是界面怎么也找不到这个工作簿B了)
追答
调试程序的时候把Application.ScreenUpdating = False语句注释了,观察具体每个步骤的执行情况。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式