Excel 数字运行到第二位时出现数字格式问题

Excel 数字运行到第二位时出现数字格式问题,excel,vba,Excel,Vba,我有个问题 应该以某种格式生成的数字 我把链接附在这里作为参考 A.S.H给出的解是 Dim s As String: s = CleanString(myVal) field8 = Left(oldstring, 6) & s & Format(Cells(vRow, 8).Value, String(7 - Len(s), "0")) 在使用A.S.H提供的解决方案之前,我正在使用此代码,它正在工作,由于需求的某些更改,我必须更改代码 field3 = 0 & 0

我有个问题 应该以某种格式生成的数字 我把链接附在这里作为参考

A.S.H给出的解是

Dim s As String: s = CleanString(myVal)
field8 = Left(oldstring, 6) & s & Format(Cells(vRow, 8).Value, String(7 - Len(s), "0"))
在使用A.S.H提供的解决方案之前,我正在使用此代码,它正在工作,由于需求的某些更改,我必须更改代码

field3 = 0 & 0 & Format(Date, "YYYYMM") & CleanString(myVal) & Format(Cells(vRow, 3).Value, "00000")
是的,对于A.S.H提供的代码,它确实可以工作,但问题是当我从上面的语句生成数字时,输出是什么

当前输出错误,因为数字01位于前两位,01是myVal的传递值。
012017010000001

正确的输出应为
002017010100001


原始的CleanString代码与我遇到问题的部分位于相同的表单模块中(代码仅供参考,以显示我正在做什么)

myVal代码如下所示,位于生成增量编号的其他模块上

Public myVal As String
Sub test()
Dim fn As String, txt As String, temp
fn = ThisWorkbook.Path + "\PaymentFile01.txt"
If fn = "False" Then Exit Sub
txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "_(\d+)(?=\|)"
    myVal = Format$(.Execute(txt)(0).submatches(0) + 1, "_00")
    txt = .Replace(txt, myVal)
    .Pattern = "(\r\n)+$"
    Open Replace(fn, ".txt", ".txt") For Output As #1
        Print #1, txt;
        MsgBox "This is bathch No" & myVal
    Close #1
End With
End Sub
不确定哪一部分出了问题。在我看来,A.S.H给出的解决方案需要一些修改以满足我的要求


首先感谢您。

最后我做到了,我找到了解决方案,就这么简单

field8 = 0 & 0 & Left(Cells(vRow, 8).Value, 6) & CleanString(myVal) & Format(Right((Cells(vRow, 8).Value), 5), "00000")

你需要更加精确。发布您尝试过的最小且完整的问题陈述和代码。不要要求SO社区为您调试代码。这些代码只是关于我正在做什么的参考资料,我只需要一些建议和一些提示来解决这个问题。这就是全部。
field8 = 0 & 0 & Left(Cells(vRow, 8).Value, 6) & CleanString(myVal) & Format(Right((Cells(vRow, 8).Value), 5), "00000")