在excel里面,如何设置数据自动分段
如果把身份证号码设置为数字格式为什么输入身份证号都变成652121193310223000。都是3000结尾。那虽然可以用自定义单元格格式的
但是结尾不对啊652-121-1933-1022-3000。如果单元格格式设置为文本就不能使用自定义这个功能。矛盾的啊、 展开
选择要设置的列,右键-设置单元格格式,选择“自定义”,在“类型”方框里输入:###,###,####,####,#### ,这个#随你的数字长度来设置, 逗号也可以用-来代替。
---------------------------
要用宏, 运行宏,按ESC停止
Sub li()
Dim s(100), huifu(65535) '定义数组s,处理100*3位,即300位
For Each c In Selection
t = t + 1 '递增
temp = c.Value '临时变量存储当前单元格的值
Do Until Len(temp) <= 3 '循环,直到temp的长度小于等于3
i = i + 1 '数组变量递增
s(i) = Right(temp, 3) '从temp的右边取数,每三个存为数组s
temp = Left(temp, Len(temp) - 3) '更改临时变量为当前值去掉后面三位
Loop
For i = 100 To 1 Step -1 '在数组中循环
If s(i) <> "" Then '如果数组的值不为空
temp = temp & "," & s(i) '临时变量等于自身+逗号+当前数组的值
End If
Next i
c.Value = "'" & temp '转换成文本形式,赋予该单元格新的值
Next
tt = MsgBox("是否恢复初始值", vbOKCancel, "警告!") '选择是否恢复初始值
If tt = 1 Then
t = 0
For Each c In Selection
c.Value = "'" & huifu(t)
t = t + 1
Next
End If
End Sub
###"-"###"-"####"-"####"-"####