我想创建一个宏,将我wb中的所有单元格更改为文本格式.在我的下面的代码中它将所有单元格更改为文本格式,但该代码的问题在于它并不总是"你看到的就是你得到的",我的意思是当excel改变单元格的格式时有时也会改变单元格内的数据.例如:如果我将单元格格式从数字(小数位:4)更改为文本,"1.200"将采用文本格式"1.2"等...是否有任何棘手的方法将所有单元格更改为文本格式,同时保留所有单元格数据与任何用户看到的一样,无论他看到什么?(使用vba)
VBA:
Cells.Select Selection.NumberFormat = "@"
Tim Williams.. 6
你可以尝试这样的事情:
Sub Test() Dim c, v For Each c In Selection.Cells v = c.Text c.NumberFormat = "@" c.Value = v Next c End Sub
...假设所有的内容都是可见的(即没有列太窄,导致值显示为"########"),不过话说回来那会是所见即所得...
你可以尝试这样的事情:
Sub Test() Dim c, v For Each c In Selection.Cells v = c.Text c.NumberFormat = "@" c.Value = v Next c End Sub
...假设所有的内容都是可见的(即没有列太窄,导致值显示为"########"),不过话说回来那会是所见即所得...