ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3366|回复: 8

[求助] listbox的rowsource如何输入带路径的工作表区域

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-5 19:52 | 显示全部楼层 |阅读模式
本帖最后由 ERICCPJ 于 2018-8-5 20:06 编辑

各位老师好:

       请教关于listbox RowSource属性设置的问题,输入不带路径的工作表区域则没问题,比如[新建报价表入口.xlsx]sheet1!A1:G40。
       但是一旦在工作簿名称前面加上了路径名称,比如 [d:\报价\新建报价表入口.xlsx]sheet!A1:G40 则会提示无效rowsource属性值,这是什么原因呢,请大神赐教。
        如图1的赋值方式,listbox可以正常显示区域内的数据,如图2的填写赋值方式则会弹出图三的错误告警,赋值不成功

图1

图1

图2

图2

图3

图3

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-5 20:07 | 显示全部楼层
求大神指教,搞了两天,还是弄清楚问题究竟在哪

TA的精华主题

TA的得分主题

发表于 2018-8-5 20:09 | 显示全部楼层
原因就是你那个引用的文件没有打开,或者就算你已经打开了,如果已经打开了,也就不需要你的全路径了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-5 20:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
huang1314wei 发表于 2018-8-5 20:09
原因就是你那个引用的文件没有打开,或者就算你已经打开了,如果已经打开了,也就不需要你的全路径了

请教版主,是否listbox的rowsource属性赋值是不可以带有路径的呢?

TA的精华主题

TA的得分主题

发表于 2018-8-5 20:18 | 显示全部楼层
ERICCPJ 发表于 2018-8-5 20:11
请教版主,是否listbox的rowsource属性赋值是不可以带有路径的呢?

我想问的是,你为什么要把路径带上,你是想不打开你引用的工作簿,让这个属性自动去读取一个未打开的工作簿中数据?只不惜你的想法的是美好的,但是该属性还没有那么智能,所以最好办法就是你在代码当中设置这个属性,而不是提前设置好

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-5 20:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ERICCPJ 于 2018-8-5 20:35 编辑
huang1314wei 发表于 2018-8-5 20:18
我想问的是,你为什么要把路径带上,你是想不打开你引用的工作簿,让这个属性自动去读取一个未打开的工作 ...

程序运行是在[新建报价表入口.xlsm]这个工作簿,但是要引用的数据区域则是在刚刚新建的[ABC客户.xlsx]的sheet1工作表中,我想做的是将刚刚新建的[ABC客户.xlsx]的内容引用到listbox中生成预览,也是一直在代码中去设置rowsource属性,想着跨工作簿了就加上路径,但是在代码中给rowsource属性赋值也是一直提示无效rowsource属性值。代码赋值语句:me.listbox1.rowsource=NWB.worksheets("sheet1").range("A1:G40").Address


[新建报价表入口.xlsm]   [ABC客户.xlsx]两个工作簿同在D:\报价\这个目录下

TA的精华主题

TA的得分主题

发表于 2018-8-5 20:45 | 显示全部楼层
ERICCPJ 发表于 2018-8-5 20:33
程序运行是在[新建报价表入口.xlsm]这个工作簿,但是要引用的数据区域则是在刚刚新建的[ABC客户.xlsx]的s ...

用 me.listbox1.rowsource=NWB.worksheets("sheet1").range("A1:G40").Address(External:=True)   试试

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-5 21:09 | 显示全部楼层
huang1314wei 发表于 2018-8-5 20:45
用 me.listbox1.rowsource=NWB.worksheets("sheet1").range("A1:G40").Address(External:=True)   试试

谢谢版主,搞定了。
本来想新建的[ABC客户.xlsx]不打开,用代码把该工作簿的内容引用出来,发现如果该工作簿不打开,就会一直提示自动化错误的告警。看来listbox的rowsource引用那个工作簿,那个工作簿就必须处于打开的状态才可以。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-5 21:11 | 显示全部楼层
huang1314wei 发表于 2018-8-5 20:45
用 me.listbox1.rowsource=NWB.worksheets("sheet1").range("A1:G40").Address(External:=True)   试试

再请教下版本,listbox的columnheads属性设置为true,如何columnheads显示引用区域首行的内容呢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 17:13 , Processed in 0.025162 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表