注册 登录
编程论坛 Excel/VBA论坛

如何实现从多个文件里把相同的某一个字段中的一些值对应的某些字段,挑出来另存到....

zyxk_wang 发布于 2018-04-25 17:35, 8821 次点击
如题:有几十文件,每个文件里都有ItemID这个字段,如何把所有文件里ItemID字段的值为261,263,513,515...等等(很多值,其它值不要)对应的Item字段和Value字段另存到一个文件里,另外在最前面新增一个字段username字段,其值取515的值。麻烦请问下老师,能实现这个功能吗?在此感谢!~~~要实现的效果见附件(实现的效果是横着排列)谢谢老师,不知道我说清楚没?
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
12 回复
#2
童生2018-04-25 20:08
https://jingyan.baidu.com/article/6525d4b1777c53ac7d2e94ee.html  才几十个文件吗,按这个方法,复制粘帖最后一整理不就行了?
#3
xyxcc1772018-04-26 06:20
这个简单,你的实际数据文件呢?
#4
zyxk_wang2018-04-26 08:54
回复 3楼 xyxcc177
只有本站会员才能查看附件,请 登录
原文件比较大,只截取了一部分。谢谢老师。
#5
xyxcc1772018-04-26 17:24
只有本站会员才能查看附件,请 登录

看看是不是这样?
#6
xyxcc1772018-04-26 17:25
程序代码:

Sub test1()
Dim lColor As Long
Dim w As Long
Dim i, r, j As Integer
Dim ar(2, 100)
Dim sht As Worksheet
w = 16777215

Set sht = Sheets("20160404")
r = sht.Cells(Rows.Count, 1).End(xlUp).Row
  j = 1
ar(0, 0) = "UserName"
ar(1, 0) = Mid(ActiveWorkbook.Name, 1, InStr(ActiveWorkbook.Name, ".") - 1)

For i = 1 To r
lColor = sht.Range("a" & i).Interior.Color
  If lColor <> w Then
  ar(0, j) = sht.Range("b" & i).Value
  ar(1, j) = sht.Range("c" & i).Value
  j = j + 1
  End If
Next
Sheets("结果").Range("a1:zz2").ClearContents
Sheets("结果").Range("a1").Resize(2, 100).Value = ar
Sheets("结果").Activate

End Sub

#7
zyxk_wang2018-04-27 13:00
回复 6楼 xyxcc177
谢谢老师,结果是对的。但有二个问题老师,1.我有一个目录下有200多个这样的文件,里面的内容都是实例中的内容,如何让它自动读取每一个文件,然后生成到另一个文件里。
2.USERNAME那栏不用新增了,因为后面已经有个username字段,不好意思。麻烦辛苦老师了。如何感激下老师,留个邮件吧zyxk_wang@

[此贴子已经被作者于2018-4-27 13:17编辑过]

#8
xyxcc1772018-04-28 08:57
可以加qq解决,501214014
#9
zyxk_wang2018-05-02 15:58
回复 8楼 xyxcc177
只有本站会员才能查看附件,请 登录
#10
xyxcc1772018-05-02 18:03
只有本站会员才能查看附件,请 登录
运行它就可以了
#11
hyz000012018-05-23 08:40
这个有点像vfp里面的编辑界面转成查询界面。
你确定自己是需要这样做?
#12
cxx2436992018-05-25 11:31
怎么玩儿
#13
zyxk_wang2018-07-09 08:41
ok.thank you .

[此贴子已经被作者于2018-7-9 08:43编辑过]

1