Foxtable(狐表)用户栏目专家坐堂 → [求助]增加临时列ABCDE甚至到AA及ZZ


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

主题:[求助]增加临时列ABCDE甚至到AA及ZZ

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]增加临时列ABCDE甚至到AA及ZZ  发帖心情 Post By:2022/6/15 15:19:00 [只看该作者]

因为不可预知需要导入的usedrange会有多少列,所以,希望增加临时列与usedrange的列数相同
比如有3列,就增加ABC,有26列,就增加A-Z,有27列,就增加A-AA

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/15 15:22:00 [只看该作者]


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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/6/15 16:13:00 [只看该作者]

我知道可以增加临时列的方法
但要知道增加的第一列是A,第二列是B,如果增加个60列,一个个写,就太麻烦了

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/15 16:17:00 [只看该作者]

遍历execl表格第一行:http://www.foxtable.com/webhelp/topics/1156.htm

Dim Book As New XLS.Book
Dim
 Sheet As XLS.Sheet = Book.Sheets(0)
for i as ineger = 0 to Sheet.Cols..count - 1
msgbox(Sheet(0,i).text)

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/6/15 22:46:00 [只看该作者]

不是这个意思啦。
要把excel表中的usedrange数据复制到一个DataTableBuilder建立的临时表中

因为不知道usedrange会有多少列,所以准备在临时表中增加相应的列数,第1列列名为A,……第26列列名为Z,27列列名为AA,依此类推



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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 8:52:00 [只看该作者]

execl表格没有标题行?如果有直接取标题行做列名不就行了,搞那么多花样干啥。

如果没有标题行,建议按顺序使用A1、A2、A3这种列名,不要使用a、b、c...这种,处理起来麻烦死了

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/6/16 9:12:00 [只看该作者]

execl表格没有标题行?如果有直接取标题行做列名不就行了,搞那么多花样干啥
---说对了,就是没有的
图片点击可在新窗口打开查看

因为要把表格里的usedrange读到临时表里(图示是其中两个表的示例,物品的列数并不是固定的2列或3列,多层表头也并不是固定的1层或2层或3层,需要人工识别),然后把它们做数据提取处理,要用到一些VBA的处理规则。
要读取行列标题信息,就要用到A2:D6这样的表示方法。如果用A1、A2这样的列编号,处理起来就比较麻烦
当然了,也有其它的方式来表示区域,但这样直观一些。
[此贴子已经被作者于2022/6/16 9:13:55编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 9:22:00 [只看该作者]

Address

获取单元格或单元格区域的地址。

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\问题\a.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
MessageBox.Show(Rg.Cells(1, 1).Address)
App.Quit

遍历的时候直接获取单元格的地址

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/6/16 10:07:00 [只看该作者]

1、因为usedrange是获取所有的数据区域,这不是的我目的
2、步骤是
2.1、将usedrange数据导入到FT表里来,这个并不复杂
2.2、数据导入到FT表里以后,用户可以选择物品标题所在区域
但是要在FT表中用afterselrange事件,可以获取选择的区域信息。
这里,列标题就很重要,如果是ABCDE……排下来就跟excel一样,如果用A1、A2、A3这样排下来,就会感觉很怪异

但每个要导入的表1、2、3、4等等,列数、行数、要选择的物品、位置区域是不固定的
[此贴子已经被作者于2022/6/16 10:23:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 10:17:00 [只看该作者]

越说越糊涂,没看懂到底什么意思

 回到顶部
总数 17 1 2 下一页