pro*_*221 9 excel vba excel-vba
我似乎找不到在我的VBA代码中保存前导零的方法.零是必要的,因为它们对应于唯一ID.
我已经尝试将数字格式更改为文本和0000 ....在excel和我的实际代码中相同的方法:ActiveSheet.Cells(i,j).NumberFormat ="00000"
还有其他建议吗?(如果我手动将这些数字键入VBE,它也会删除前导零).编辑:
Sheets.Add.Name = "Temp"
Sheets("Sheet1").Select
ActiveSheet.Cells(2, 2).NumberFormat = "000"
cid = Cells(2, 2)
MsgBox cid
Sheets("Sheet2").Select
ActiveSheet.Cells(6, 1).NumberFormat = "00000"
sid = Cells(6, 1)
Sheets("Temp").Select
Url = _
"URL;" & _
"http......asp?" & _
"X1=" & cid & "&" & _
"X2=" & sid & "&"
这是最终的循环内部,但我正在调试作为单独的迭代.
Kek*_*mau 10
以下所有的讨论都是关于写入单元格,而不是从单元格中读取.更改Numberformat不起作用.看看你是否可以弄清楚这段代码是如何工作的:
dim v as integer
v = val(Sheets("Sheet1").Cells(2, 2))
dim cid as string
cid = format(v, "000")
你永远不应该使用Select和ActiveSheet这种方式,它是没有必要的; 并且永远不要使用Cells它应该指的表单.
(Val如果单元格实际上已经是数字而不是文本,则可以省略).
早先回答......:
这段代码对我来说非常好
Worksheets(1).Columns("A").NumberFormat = "@"
Worksheets(1).Cells(1, "A").Value = "00023"
而且也是
Worksheets(1).Columns("A").NumberFormat = "000000"
Worksheets(1).Cells(1, "A").Value = "0023"
(此处字符串将转换为数字并显示为6位数字)
编辑:
如果失败 - 虽然我无法解释 - 我仍然打赌它'应该真的有用 :( 
不需要数字格式.)
Dim s As String
s = "0002"
Worksheets(1).Cells(1, "A").Value = "'" & s
| 归档时间: | 
 | 
| 查看次数: | 43003 次 | 
| 最近记录: |