当前位置: 代码迷 >> Office >> 怎的把1个格子里的数字与文字快速分成2个格子
  详细解决方案

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

热度:586   发布时间:2013-02-26 00:00:00.0
怎样把1个格子里的数字与文字快速分成2个格子
怎样把1个格子里的数字与文字快速分成2个格子,如,
怎样把下图:

 
分成下面的样子:

 
请问有哪些方法?
谢谢了

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



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
  相关解决方案