以文本方式查看主题

-  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