что вам нужно сделать, это разбить значение в 3 с использованием left
, mid
и right
функции.
Затем выполните цикл, как вам это нужно. Я сам это пробовал, поэтому я обновляю свой ответ, как только я это сделаю.
Добавлено Код:
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
Если вам нужно какое-либо объяснение, пожалуйста, спросите. Я буду рад объяснить.
Не уверен, что это по теме, но если вы хотите помочь с макросом вы работаете, это может быть полезно включить это в вашем вопросе ';-)' – halfer
Вы уверены, что тег VB.NET верен? VB.NET! = VB (или VBA). – Tim