麻烦EXCEL高手解答:从我下面图片中的表格1转换成表格2,在EXCEL表格中。急求大侠帮忙!!!在线等答案

如题所述

1、新建一个excel,把你的原数据拷贝到“sheet1”

2、按ALT+F11打开vba编辑器

3、把我下面给你的代码拷进去,并更改参数(有说明的)

4、按F5运行,结果在sheet2里

——时间仓促没有考虑太多的兼容性,请你一定要保证sheet1和sheet2存在,并且是原生态就是这个名字,不是你手工修改的。

Sub tangdenis()

Dim s_string As String

Dim s_arr       '作为保存分列后的内容的字符串数组

Dim i_start     '你的excel数据从第几行开始

Dim i_end       '你的excel数据到第几行结束

Dim i_col       '你的那些个1/2馈线的是在第几列

Dim s_spliter   '你的那些个什么馈线的是用什么标点符号分割的,目前看你是用的顿号

i_start = 1       '请更改

i_end = 4        '请更改

i_col = 2         '请更改

s_spliter = "、"

j = 1

      For i = i_start To i_end

      s_string = Sheet1.Cells(i, i_col)

      s_arr = Split(s_string, s_spliter)

      For Each x In s_arr

      Sheet2.Cells(j, 1) = Sheet1.Cells(i, 1)

      Sheet2.Cells(j, 2) = x

      j = j + 1

      Next

Next

End Sub

————希望您帮到您

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-26
Excel有个分列功能(数据-分列),你可将表格一第二列先根据顿号分列为两列,然后再组合到表格2中,排一下序就好了,自己尝试一下不算太麻烦。追问

大哥请问怎么组合呢我刚看了下数据分列是可以 但是他是分成一列一列的了并不是往下一直列下去的那种

追答

你把第一列和第二列,先拷贝到表格二,再将表格1第二列删掉,或者二三列互换下位置,再将这两列内容拷贝到表格二中,不就可以了嘛。(若分列后,第三列有空的,就先排下序,只取有内容的部分拷贝)。

第2个回答  2011-08-26
假设你的表1的数据在A列和B列,那么通过数据-分列把B列分成两列(分隔符号选择逗号),然后复制A列,插入到C列之前,最后把C、D两列的数据剪切到A、B两列的数据下面,按照A列排序即可。
第3个回答  2011-08-26
假设原数据在A、B列,且从第二行开始,则依次操作如下:一、对B列按“、”号分列,得到B、C列;二、将B、C列依次复制到E列;三、单元格D2输入公式=VLOOKUP("*"&E2&"*",IF({1,0},$B$2:$B$5&$C$2:$C$5,$A$2:$A$5),2,),公式输完后同时按三键(shift ctrl 回车)结束,下拉;五、数据区域依楼主实际数据而改变。
第4个回答  2011-08-28
我给你写了个转换代码,只要你将数据放到"原数据表中",在第二个表按下按钮就OK了,需要M我,发给你表格文件
希望对你有点帮助。
相似回答