EXCEL中,比如说:123456789,我只想在原有的单元格中设置显示前四位1234,怎么设置??不是用公式喔

如题所述

用VBA 生成新的一列,求出其前4位,隐藏原始列。
*** 在工作页面(例如:sheet1)内加个“命令按钮”其代码如下:
Private Sub CommandButton1_Click()
Macro1
End Sub
'****** 模块代码如下:
Sub Macro1()
MM = "A"
XX = InputBox("请输入要改变显示为前四位数的列号," & vbCrLf & vbCrLf & "例如:要选择A列,请输入“A”", "列号输入对话框", MM)
If Len(XX) = 0 Then Exit Sub
If Len(XX) <> 0 Then
NN = XX & ":" & XX
Columns(NN).Select
WW = ActiveCell.Column
Columns(WW + 1).Select
Selection.Insert Shift:=xlToLeft
Cells(1, WW + 1).Select
For I = 1 To 65535
If Len(Cells(I, WW).Value) = 0 Then
Columns(NN).Select
Selection.EntireColumn.Hidden = True
Cells(1, WW + 1).Select
MsgBox "转换完成,原始数据在【" & XX & "】列并已经隐藏 !", 64, "SIR007_001 提示"
Exit Sub
ElseIf Len(Cells(I, WW).Value) <> 0 Then
Cells(I, WW + 1).Select
Cells(I, WW + 1).Value = Left(Cells(I, WW).Value, 4)
End If
Next I
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-17
在该单元格插入一列,对原单元格所在列“分列”-固定宽度..., 最后删除插入的那列追问

不太明白,怎么固定宽度??

追答

“固定宽度”是“分列”的一个选项

追问

那这样数据不是全错了吗??我只想显示1234,可并不代表我想把原有的数据删掉啊。还有其它办法吗??

追答

没有办法

追问

谢谢!

本回答被网友采纳
第2个回答  2012-03-17
在EXCEL最上面,选中整列,右击-设置单元格-数值-设置自己需要的方式
相似回答