Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2773|回复: 9

[已解决]增加要求-----提取表格指定位置的数据到文本里的VBA代码

[复制链接]
发表于 2014-11-24 10:08 | 显示全部楼层 |阅读模式
本帖最后由 学习学习vba 于 2014-11-25 08:21 编辑

附件下载: 20141124.rar (3.03 KB, 下载次数: 3)
 楼主| 发表于 2014-11-24 10:09 | 显示全部楼层
希望dsmch老师 能再次帮忙解答

希dsmch老师能看得明白..


谢谢
回复

使用道具 举报

发表于 2014-11-24 10:46 | 显示全部楼层
  1. Sub Macro1()
  2. Dim arr, brr, ar, br, d, d2, i&, j%
  3. Set d = CreateObject("scripting.dictionary")
  4. Set d2 = CreateObject("scripting.dictionary")
  5. arr = Sheet1.Range("b1").CurrentRegion
  6. brr = Sheet1.[e2:g25]
  7. For i = 1 To UBound(brr)
  8.     s = IIf(i < 12, 1, 2)
  9.     d(brr(i, 1) & "," & s) = brr(i, 3)
  10. Next
  11. ar = Sheet2.Range("b1").CurrentRegion
  12. br = Sheet2.[k2:m25]
  13. For i = 1 To UBound(br)
  14.     s = IIf(i < 12, 1, 2)
  15.     d2(br(i, 1) & "," & s) = br(i, 3)
  16. Next
  17. n = UBound(arr)
  18. n2 = UBound(ar)
  19. x = Split(arr(n, 1))
  20. Open ThisWorkbook.Path & "\1.txt" For Output As #1
  21.     For j = 1 To 2
  22.         For i = 0 To UBound(x)
  23.             Print #1, d(x(i) & "," & j)
  24.         Next
  25.     Next
  26.     For j = 1 To 2
  27.         For i = 1 To UBound(ar, 2)
  28.             Print #1, d2(ar(n2, i) & "," & j)
  29.         Next
  30.     Next
  31. Close #1
  32. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-11-24 11:00 | 显示全部楼层
dsmch 发表于 2014-11-24 10:46

老师好...

测试 代码1结果...

1.txt内容

ty

op





gh
df

op
ui

qw
jk


l;

结果不对 哦...H列 没提取到.
回复

使用道具 举报

 楼主| 发表于 2014-11-24 11:02 | 显示全部楼层
看代码...意思好像是 把  表1 表2的 一次性提取出来了...

回复

使用道具 举报

 楼主| 发表于 2014-11-24 11:13 | 显示全部楼层
本帖最后由 学习学习vba 于 2014-11-24 11:15 编辑

原先的 求助1的代码 提取到G列的结果为
er


ui


l;
jk

as

现在代码要提取多一列 H列的数据..
那么就要多加多一列的结果
2
3
6
9
11
12
13
16
19
21

当然 提取到的顺序可以不一样..结果对就行....


最后 求助1的代码 得到的结果1.txt的内容 应该为内容顺序不一样没关系,最终提取的结果一样就行)

er


ui


l;
jk

as
2
3
6
9
11
12
13
16
19
21

回复

使用道具 举报

发表于 2014-11-24 11:39 | 显示全部楼层
结果并为一行

1.rar

10.1 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2014-11-24 11:51 | 显示全部楼层
本帖最后由 学习学习vba 于 2014-11-24 11:54 编辑

dsmch老师好...

首先 代码 提取的数据 并为一行的话,结果是对的.
但我不好处理并行的数据
结果 能一个数据一行吗.?
不要并未一行的,,,
结果文本,类似下面的.
再次麻烦老师了
ty
9

6
op
11

3

2

29

26

31
gh
23
df
22

回复

使用道具 举报

发表于 2014-11-24 12:16 | 显示全部楼层    本楼为最佳答案   
………………

1.rar

10.13 KB, 下载次数: 6

回复

使用道具 举报

 楼主| 发表于 2014-11-24 19:09 | 显示全部楼层
dsmch 发表于 2014-11-24 12:16
………………

dsmch老师好...


代码运算结果没问题//

1.txt的内容  H列的数据 前后都有空格..
QQ截图20141124185553.png

我自己用Replace处理了一下...

OK了


谢谢 dsmch老师
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 05:38 , Processed in 1.106820 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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