回答
什么你需要做的是你的价值分手使用left
,mid
和right
功能3成。
然后根据需要进行循环。我自己尝试一下,所以一旦我这样做,我会更新我的答案。
添加的代码:
Sub Testing()
Dim myIn As String
myIn = "M201001"
Dim myLeft As String
Dim myMid As Integer, myRight As Integer, i As Integer
Dim myOut As String
myLeft = Left(myIn, 1)
myMid = CInt(Mid(myIn, 2, 2))
myRight = CInt(Right(myIn, 4))
myOut = myLeft & Format(myMid, "00") & Format(myRight, "0000")
i = 0
Debug.Print "IN: " & myIn
Debug.Print "BROKEN UP: " & myOut
Do Until myMid = -1
Debug.Print "ITERATION " & Format(i, "00") & ": " & myLeft & Format(myMid, "00") & Format(myRight, "0000")
myMid = myMid - 1
myRight = myRight + 1
myOut = myLeft & Format(myMid, "00") & Format(myRight, "0000")
i = i + 1
Loop
End Sub
如果您需要任何解释,请询问。我会很乐意解释。
这真棒超出我的能力! 它甚至计算它内宏我猜是什么调试打印是和使用ITERATION现在得到了,我需要把它放在一个表格中,它将im戈纳德与它周围发布并张贴在这里 – 2013-02-21 05:38:41
我不得不发布一个新的问题,因为该网站的规则,这样做是在这个页面上http://stackoverflow.com/questions/14996655/changing-vba-macro-code-to-change-number-part-2试图让它的工作几乎在那里 – 2013-02-21 07:28:18
使用试试这个
Function GetNextNumber(n As String) As Variant
' Validate input
If Len(n) <> 7 Then
GetNextNumber = xlErrNum
Exit Function
ElseIf Left$(n, 1) <> "M" Then
GetNextNumber = CVErr(xlErrNum)
Exit Function
End If
GetNextNumber = Left$(n, 1) & Format(val(Mid$(n, 2)) - 9999, "000000")
End Function
测试此
Sub demo()
Dim n As Variant
n = "M201001"
Debug.Print n
Do
n = GetNextNumber(CStr(n))
If IsError(n) Then Exit Sub
Debug.Print n
Loop Until val(Mid$(n, 2)) <= 19999
End Sub
感谢您的帮助,但我需要它分开数量像宏观波纹管 – 2013-02-21 05:33:58
我不得不发布一个新的问题,因为网站的状态规则这样做是在这个页面http://stackoverflow.com/questions/14996655/changing-vba-macro-code-to-change-number-part-2 – 2013-02-21 07:22:48
- 1. 更改VBA宏代码变更号码,第2部分
- 2. 使用Excel公式更改VBA代码
- 3. 更改代码svn2git
- 4. HTML代码更改
- 5. Jslider更改代码
- 6. 跟踪更改VBA代码 - 如何重写此代码?
- 7. 更新后更改窗体背景颜色的VBA代码
- 8. 更改数据时自动更新VBA代码
- 9. 改进VBA代码
- 10. VBA更改日期
- 11. 代码更改到3.x
- 12. 状态更改代码
- 13. 更改jQuery加载代码
- 14. 更改背后的代码
- 15. iOS更改场景代码
- 16. 更改代码以.NET 2.0
- 17. git - 更改代码版本?
- 18. 修改代码更具体?
- 19. 更改源代码php
- 20. 更改脚本代码
- 21. 需要更改C++代码
- 22. 更改java源代码
- 23. 更改块的ECC代码
- 24. 如何更改JavaScript代码?
- 25. DAX代码更改建议
- 26. Eclipse代码行更改
- 27. JavaScript:更改横幅代码
- 28. 反编译代码更改代码
- 29. 浏览器不更新代码更改?
- 30. 更新并更改我的代码
不知道这是在题目这里,但如果你想与你工作在宏观帮助,它可能是有用的,包括它在你的问题';-)' – halfer 2013-02-20 23:47:28
你确定VB.NET标记是正确的吗? VB.NET!= VB(或VBA)。 – Tim 2013-02-20 23:53:29