以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 关于使用VBA操作EXCEL的问题,球大神解决! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58216) |
-- 作者:158143616 -- 发布时间:2014/10/13 23:57:00 -- [求助] 关于使用VBA操作EXCEL的问题,球大神解决! 此主题相关图片如下:excel.jpg 此主题相关图片如下:数据表.jpg |
-- 作者:158143616 -- 发布时间:2014/10/13 23:58:00 -- 现在有一张这样的EXCEL,数据内容如附件: EXCEL.JPG 我通过 Dim Rg As MSExcel.Range Rg = Ws.Cells(1,2) 这样获得了B1列下单元格内容为:"名称"的值 但是我需要在另外一张数据表(DataTable)里插入数据 每行的数据是通过这个EXCEL表中单元格内容为"名称"所属列的所有行中的数据 1.这个DataTable是根据这个EXCEL中第一行的数据动态生成出的表 2.DataTable中的列名为:"名称" 3.A到H是每一行的数据,也就是EXCEL中的数据 如附件: 数据表.JPG 我想的解决思路是: 通过Rg = Ws.Cells(1,2)获得这个Rg,再根据这个Rg定位到EXCEL中的B2列,然后遍历这个B2列中所有的数据行进行添加 可是不知道该如何获得这个B2列中的所有内容(Rg.Address 返回的是: $B:$1) 1.请问这个Rg.Address 该如何使用? 2.QQ客服说让我来论坛求助,如果我的解决思路有问题,请大神指点,具体使用什么方式能实现?
|
-- 作者:158143616 -- 发布时间:2014/10/14 0:01:00 -- 不知道这样描述是否清晰啊? 球解决 |
-- 作者:菲舍尔 -- 发布时间:2014/10/14 1:47:00 -- 如果你的excel表已经是如此规范,直接引用就好了
dim dt as datatable = datatables(“表名”) dim book as xls.book("文件名") dim sheet as xls.sheet = book.sheet(0)
‘你已知(1,2)是列名,直接从(2,2)开始引用就好了 for i as integer = 2 to 100 ’结尾自己改 if sheet(i,2)value <> "" then dim dr as datarow = dt.addnew dr("姓名") = sheet(i,2).value dr("列名") = sheet(i,?).value ‘要引用其他列的值 。。。。。 endif next dt.save |
-- 作者:158143616 -- 发布时间:2014/10/14 8:36:00 -- Excel格式不固定, 我的截图只打个比方, 我帖子里提到的功能类似于 用户可以根据自定义选择Excel其中的列对应Datatable中的列,然后将所有对应好的列中的数据填充到Datatable中。 实际功能比示例麻烦的多。 |
-- 作者:Bin -- 发布时间:2014/10/14 8:45:00 -- 参考一下这里,也许对你有启发http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40912 |
-- 作者:158143616 -- 发布时间:2014/10/14 9:23:00 -- 以下是引用Bin在2014-10-14 8:45:00的发言:
参考一下这里,也许对你有启发http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40912 不行啊。我找了相关Excel报表的功能。但找不到方法。 版主是否可以仔细看下我的问题所在。帮帮。 |
-- 作者:有点甜 -- 发布时间:2014/10/14 9:59:00 -- 楼上已经说得很清楚了,或许你可以参考这个例子来做
http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=51515&skin=0
|