原表有2列
【张三 男】
【王五 女】 以此类推,有几千个。
要把每个男的替换成2行
【张三 A区】
【张三 A舍】
要把每个女的替换成3行
【王五 B区】
【王五 B舍】
【王五 B辅】
--------------------------------------------------
如何通过Excel编程解答出来?
多谢!
按 Alt+F11 打开VBE窗口,把下面代码复制到里面,按F5运行即可看到效果,然后酌情修改。
Sub 替换()有几千条记录。而且以后每周还有新数据过来,人工的话,感觉太麻烦,而且容易出错。
追答噢,想省力啊,那得付费耶。
这个是两列,那么可以重新生产在c,d列吗 ,如果要达到这个效果,一下代码就可以实现。
Sub 重新生成()
Dim xb%, a%, n%, k%
xb = Cells(Rows.Count, 2).End(xlUp).Row
For a = 1 To xb
n = n + 1
If Cells(n, 2) = "男" Then
Cells(k + 1, "c").Resize(2) = Application.Transpose(Cells(a, 1))
Cells(k + 1, "d").Resize(2) = Application.Transpose(Array("A区", "A舍"))
k = k + 2
Else
Cells(k + 1, "c").Resize(3) = Application.Transpose(Cells(a, 1))
Cells(k + 1, "d").Resize(3) = Application.Transpose(Array("B区", "B舍", "B铺"))
k = k + 3
End If
Next
End Sub
鼠标点击图片看一下代码执行效果。
本回答被提问者采纳