excel问题 新手拜谢

kgbkiller 2010-04-19 04:42:46
有一个EXCEL表格:
111 名称一 2
222 名称一 2
333 名称一 2
444 名称二 1
555 名称二 1
如何转换为
名称一 111 222 333 2 2 2
名称二 444 555 1 1
请各位高手指点 谢谢了
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
txz2003 2010-04-20
  • 打赏
  • 举报
回复
临时简单编写了一个VBA,希望对你有所帮助

点击“工具-宏-visual basic编辑器”,双击左侧“ThisWorkbook”,在右侧窗口粘贴如下代码:

Public Sub xx()
Dim ss, s1, s2 As String
Dim bh, eh, i As Integer
'为简化程序,使用之前须对“名称一”所在列进行排序
'bh,eh 分别为“名称一”的起始行号
bh = 1
eh = 3

ss = Sheet1.Cells(bh, 2)
s1 = ""
s2 = ""
For i = bh To eh
s1 = s1 & "," & Sheet1.Cells(i, 1)
s2 = s2 & "," & Sheet1.Cells(i, 3)
Next
ss = ss & s1 & s2
'将得到的结果填写到sheet2
Sheet2.Cells(1, 1) = ss

'bh,eh 分别为“名称二”的起始行号,以后类推
bh = 4
eh = 5

ss = Sheet1.Cells(bh, 2)
s1 = ""
s2 = ""
For i = bh To eh
s1 = s1 & "," & Sheet1.Cells(i, 1)
s2 = s2 & "," & Sheet1.Cells(i, 3)
Next
ss = ss & s1 & s2
'将得到的结果填写到sheet2
Sheet2.Cells(2, 1) = ss
End Sub


调出窗体工具栏,在sheet1表中某个单元格插入一个按钮,指定宏名选择下方的 xx,确定后,点击该按钮,可将希望转换的数据填充到sheet2
ACMAIN_CHM 2010-04-19
  • 打赏
  • 举报
回复
用VBA比较容易实现。

QQ群 48866293 OFFICE应用挖掘
MS OFFICE(ACCESS\EXCE\WORD等应用技术探讨与交流!技术群,请阅群论坛中的《踢人规则》
evilboy_huang 2010-04-19
  • 打赏
  • 举报
回复
数据透视表

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧