回答
什麼你需要做的是你的價值分手使用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. VBA代碼打開更改文件名
- 4. VBA宏更改單元格的顏色更改值1秒
- 5. VBA觸發宏單元格值更改
- 6. VBA宏用於更改註釋顏色
- 7. 更改源代碼
- 8. 更改代碼庫
- 9. HTML代碼更改
- 10. Jslider更改代碼
- 11. 更改代碼svn2git
- 12. 更改值的宏
- 13. 跟蹤更改VBA代碼 - 如何重寫此代碼?
- 14. VBA宏代碼
- 15. 更新後更改窗體背景顏色的VBA代碼
- 16. 更改數據時自動更新VBA代碼
- 17. 改進VBA代碼
- 18. VBA更改日期
- 19. 處理 - 更改mouseClicked()代碼
- 20. 更改背後的代碼
- 21. 如何更改JavaScript代碼?
- 22. knitr - 更改代碼縮進
- 23. 代碼更改不生效
- 24. 更改代碼爲ES6
- 25. 狀態更改代碼
- 26. 更改java源代碼
- 27. 用javascript更改css代碼
- 28. 在線更改源代碼
- 29. 在javascript中更改代碼
- 30. 更改mysql代碼爲PDO
不知道這是在題目這裏,但如果你想與你工作在宏觀幫助,它可能是有用的,包括它在你的問題';-)' – halfer 2013-02-20 23:47:28
你確定VB.NET標記是正確的嗎? VB.NET!= VB(或VBA)。 – Tim 2013-02-20 23:53:29