Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于使用VBA操作EXCEL的问题,球大神解决!


  共有2871人关注过本帖树形打印复制链接

主题:[求助] 关于使用VBA操作EXCEL的问题,球大神解决!

帅哥哟,离线,有人找我吗?
158143616
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:131 威望:0 精华:0 注册:2014/10/10 11:17:00
[求助] 关于使用VBA操作EXCEL的问题,球大神解决!  发帖心情 Post By:2014/10/13 23:57:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:excel.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:数据表.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
158143616
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:131 威望:0 精华:0 注册:2014/10/10 11:17:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:131 威望:0 精华:0 注册:2014/10/10 11:17:00
  发帖心情 Post By:2014/10/14 0:01:00 [只看该作者]

不知道这样描述是否清晰啊? 球解决图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
菲舍尔
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:504 积分:3492 威望:0 精华:3 注册:2012/11/13 15:49:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:131 威望:0 精华:0 注册:2014/10/10 11:17:00
  发帖心情 Post By:2014/10/14 8:36:00 [只看该作者]

Excel格式不固定,

我的截图只打个比方,

我帖子里提到的功能类似于

用户可以根据自定义选择Excel其中的列对应Datatable中的列,然后将所有对应好的列中的数据填充到Datatable中。

实际功能比示例麻烦的多。


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/14 8:45:00 [只看该作者]

参考一下这里,也许对你有启发http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40912

 回到顶部
帅哥哟,离线,有人找我吗?
158143616
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:131 威望:0 精华:0 注册:2014/10/10 11:17:00
  发帖心情 Post By: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报表的功能。但找不到方法。

版主是否可以仔细看下我的问题所在。帮帮。图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/14 9:59:00 [只看该作者]

 楼上已经说得很清楚了,或许你可以参考这个例子来做

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=51515&skin=0

 


 回到顶部