失去前导零,如何保持数字格式

时间:2014-10-22 17:40:32

标签: excel-vba vba excel

我有代码创建新工作表,通过他们的项目编号命名(例如,PRJ_123456,PRJ_654654)。这里的第一块代码非常有用。我的问题是有些项目有5位,而不是6位。在第二段代码中,当我拉出项目编号时,它会导致我尝试的事情出现问题。我已尝试过多种方法来保留五位数项目编号的前导零,但在创建电子表格时却没有这样做。

 Sub Pop()
 Sheets("Project_Main").Select

  Range("C2").Select 
  Do Until IsEmpty(ActiveCell)

  If (Sheets("Program").Range("C3").Value) = ActiveCell.Value Then
        Dim PRJNumber
        PRJNumber = ActiveCell.Offset(0, 2)
        'PRJNumber.NumberFormat = "000000"
        MsgBox (PRJNumber)

        Sheets("Template_PRJ").Select
        Sheets("Template_PRJ").Copy Before:=Sheets(2) 
        Sheets("Template_PRJ (2)").Select

        Dim SheetPRJName
        SheetPRJName = "PRJ_" & PRJNumber
        Sheets("Template_PRJ (2)").Name = SheetPRJName 
  end if
  loop
  end sub

这是我后来尝试做的事情

For Each wks In ActiveWorkbook.Worksheets

If ((Left(wks.Name, 3) = "PRJ")) Then

    PRJNumber = Right(wks.Name, 6)
    'MsgBox (prjNumber)

....

1 个答案:

答案 0 :(得分:2)

  1. 确保将您的PRJNumber变量DIM作为一个字符串,因为那是我们正在处理的内容。
  2. 当值出现时,如果它的5个字符而不是6个字符附加0,则在指定PRJNumber后使用:If len(PRJNumber) = 5 then PRJNumber = "0" & PRJNumber
  3. 因为你正在追加" PRJ _"在它的正面是表格的名称,那么应该从这里开始。