读书人

怎的把1个格子里的数字与文字快速分成

发布时间: 2012-12-26 14:39:28 作者: rapoo

怎样把1个格子里的数字与文字快速分成2个格子
怎样把1个格子里的数字与文字快速分成2个格子,如,
怎样把下图:
怎的把1个格子里的数字与文字快速分成2个格子

分成下面的样子:
怎的把1个格子里的数字与文字快速分成2个格子

请问有哪些方法?
谢谢了

[解决办法]
如果数字是连续的话,那简单的, =LOOKUP(9E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1)))))
[解决办法]
使用VBA可以不?需要指定具体的行数,容错性较差,且分拆的数据必须要有规律,每两列分拆数据之间要留出至少二行空间,不过分拆基本没有问题了。操作时,要用鼠标单击一下分拆列的最开始的那一个单元格,也就是这列最上面那个单元格了。
给个图:
怎的把1个格子里的数字与文字快速分成2个格子
怎的把1个格子里的数字与文字快速分成2个格子

Option Explicit

Sub SplitNumStr()

Dim iRows As Long
Dim strCellContent As String
Dim iNumber As String
Dim strString As String
Dim strCurrentNum As String
Dim i, t As Integer

Do Until iRows <> 0
iRows = Application.InputBox(Prompt:="请输入需分拆的行数:", _
Title:="输入行数" , Type:=1)
Loop

For t = 1 To iRows
strCellContent = ActiveCell.Value

For i = 1 To Len(strCellContent)
strCurrentNum = Mid(strCellContent, i, 1)
If Not IsNumeric(strCurrentNum) Then
Exit For
End If
Next i

iNumber = Left(strCellContent, i - 1)
strString = Right(strCellContent, Len(strCellContent) - i + 1)
ActiveCell.Offset(0, 1) = iNumber
ActiveCell.Offset(0, 2) = strString
ActiveCell.Offset(1, 0).Select
Next t

End Sub

读书人网 >OFFICE教程

热点推荐