excel将1列中的文字和数字分2列显示的技巧
中行41785015110010091252、青泥支行200303004500696、卡伦办事处801017651、站前支行0709000309221004055 、金州支行400301459508091
解答:
1、用函数可以解决。
假如A1 为 中行41785015110010091252
则B1=LEFT(A1,(SEARCHB("?",A1,1)-1)/2)、C1=MID(A1,LEN(B1)+1,50)、随后将B1、C1的公式往下复制。
2、Sub 分列()
For Each jk In Sheet1.UsedRange.Columns(1).Cells
For i = 1 To Len(jk.Formula)
If Abs(Asc(Mid(jk.Formula, i, 1))) < 256 Then
Sheet1.Cells(jk.Row, (jk.Column + 1)).Formula = "'" & Right(jk.Formula, (Len(jk.Formula) - i + 1))
jk.Formula = Left(jk.Formula, (i - 1))
Exit For
End If
Next i
Next
End Sub
3、是否将Asc(Mid(jk.Formula, i, 1)) < 256 改成 47 < Asc(Mid(jk.Formula, i, 1)) < 58 会更好,因为它只将数字抽出,如果数字前有英文字的话将抽往数字列。
4、我看帮助中instr函数不错
配合循环速度应快些