请问excel怎么把一个单元格的内容分成上下两行呢?
就像图里第1行那样把23行以后的都分成LN和GS...数据很多...一个个改会死人的TAT...
就像图里第1行那样 把 2 3行以后的都分成LN和GS...数据很多...一个个改会死人的TAT
展开
11个回答
展开全部
根据前边的哥们的VBA改编的我自己测试过可以用,是用来所有列都分行的,题主可以将第二个for循环指定到具体的列,希望对你有帮助。
Sub Macro1()
rr = Cells(1, 1).CurrentRegion.Rows.Count
rc = Cells(1, 1).CurrentRegion.Columns.Count
i = fi(Cells(1, 1))
For r = rr To 1 Step -1
Rows(r).Insert Shift:=xlDown
For pr = 1 To rc Step 1
Cells(r, pr) = Left(Cells(r + 1, pr), i - 1)
Cells(r + 1, pr) = Mid(Cells(r + 1, pr), i + 1)
Next pr
Next r
End Sub
Function fi(ct)
fi = 0
For i = 1 To Len(ct)
If Mid(ct, i, 1) = Chr(10) Then
fi = i
Exit For
End If
Next i
End Function
Sub Macro1()
rr = Cells(1, 1).CurrentRegion.Rows.Count
rc = Cells(1, 1).CurrentRegion.Columns.Count
i = fi(Cells(1, 1))
For r = rr To 1 Step -1
Rows(r).Insert Shift:=xlDown
For pr = 1 To rc Step 1
Cells(r, pr) = Left(Cells(r + 1, pr), i - 1)
Cells(r + 1, pr) = Mid(Cells(r + 1, pr), i + 1)
Next pr
Next r
End Sub
Function fi(ct)
fi = 0
For i = 1 To Len(ct)
If Mid(ct, i, 1) = Chr(10) Then
fi = i
Exit For
End If
Next i
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在本表里面的C列选中,数据-分列-“分隔符号”下一步-选中“空格”-完成,
从新弄一表, 讲刚才分列出来的两列数据复制到D列和E列
在A1列 输入 =ROUNDUP((ROW()/2),0)
在B1 =IF(MOD(ROW(),2)=1,INDIRECT("D"&$A1),"") 下拉, 会出现一个有数一格空白的情况, 然后选选出所有的空白单元格,输入 =IF(MOD(ROW(),2)=0,INDIRECT("e"&$A2),"") 下拉
就基本上完成了.,, 后面中文那个就简单了哈.. 自己想一下哈
从新弄一表, 讲刚才分列出来的两列数据复制到D列和E列
在A1列 输入 =ROUNDUP((ROW()/2),0)
在B1 =IF(MOD(ROW(),2)=1,INDIRECT("D"&$A1),"") 下拉, 会出现一个有数一格空白的情况, 然后选选出所有的空白单元格,输入 =IF(MOD(ROW(),2)=0,INDIRECT("e"&$A2),"") 下拉
就基本上完成了.,, 后面中文那个就简单了哈.. 自己想一下哈
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先再每一行后插入一行,可以按F5用定位条件选中空值后插入行实现,看你上面的表好像是做好了
在第4列插入一列(d列),在D2中输入"=left(C2,16)",下一个单元格D3中输入"=right(c2,16)",选中D2、D3向下填充,做好后数值化,把第3列(C列)删除
在第4列插入一列(d列),在D2中输入"=left(C2,16)",下一个单元格D3中输入"=right(c2,16)",选中D2、D3向下填充,做好后数值化,把第3列(C列)删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是要把显示为两行的一个单元格分成两行,左右单元格的内容不变 吗?
试一下下面的宏:
Sub Macro1()
rr = Cells(1, 1).CurrentRegion.Rows.Count
rc = Cells(1, 1).CurrentRegion.Columns.Count
pr = 2 '要分行的列号,根据你的需求修改
For r = rr To 1 Step -1
i = fi(Cells(r, pr))
If i > 0 Then
Rows(r).Insert Shift:=xlDown
For c = 1 To rc
Cells(r, c) = Cells(r + 1, c)
Next c
Cells(r, pr) = Left(Cells(r + 1, pr), i - 1)
Cells(r + 1, pr) = Mid(Cells(r + 1, pr), i + 1)
End If
Next r
End Sub
Function fi(ct)
fi = 0
For i = 1 To Len(ct)
If Mid(ct, i, 1) = Chr(10) Then
fi = i
Exit For
End If
Next i
End Function
试一下下面的宏:
Sub Macro1()
rr = Cells(1, 1).CurrentRegion.Rows.Count
rc = Cells(1, 1).CurrentRegion.Columns.Count
pr = 2 '要分行的列号,根据你的需求修改
For r = rr To 1 Step -1
i = fi(Cells(r, pr))
If i > 0 Then
Rows(r).Insert Shift:=xlDown
For c = 1 To rc
Cells(r, c) = Cells(r + 1, c)
Next c
Cells(r, pr) = Left(Cells(r + 1, pr), i - 1)
Cells(r + 1, pr) = Mid(Cells(r + 1, pr), i + 1)
End If
Next r
End Sub
Function fi(ct)
fi = 0
For i = 1 To Len(ct)
If Mid(ct, i, 1) = Chr(10) Then
fi = i
Exit For
End If
Next i
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询