Я пытаюсь преобразовать большое количество данных в письменное описание текста.Ex.Преобразовать YYYY ####### в «4-значный год, 7 цифр» и YYMMDD - #### в «2-значный год, 2-значный месяц, двухзначный день, дефис, 4 цифры»
Постоянными символами являются Y, M, D, #, - и X (X для неопределенных буквенных символов).Есть некоторые определенные буквенные символы (Y, M, D и X никогда не используются для чего-либо кроме Год, Месяц, День и Альфа соответственно), которые используются, то есть (RP-YYYY #####), где я хочу попробоватьчтобы захватить их (что угодно, кроме константных символов) и указать их как они естьТаким образом, письменный текст для RP-YYYY ##### будет "RP, hypen, 4-значный год, 5-значный номер"
Я могу получить количество каждого символа, используя Len и Replaceметоды, однако я изо всех сил пытаюсь выяснить, как создать письменный текст в правильном порядке, или захватить непостоянные символы, такие как RP, и сформулировать их как есть.
Любая помощь будет высоко ценится!
Sub getcharacters()
Dim casenumber As String
casenumber = Range("A1")
InitialCount = Len(casenumber)
YearDigits = Len(casenumber) - Len(Replace(casenumber, "Y", ""))
MonthDigits = Len(casenumber) - Len(Replace(casenumber, "MM", ""))
DayDigits = Len(casenumber) - Len(Replace(casenumber, "DD", ""))
NumberDigits = Len(casenumber) - Len(Replace(casenumber, "#", ""))
AlphaDigits = Len(casenumber) - Len(Replace(casenumber, "X", ""))
HyphenDigits = Len(casenumber) - Len(Replace(casenumber, "-", ""))
FinalCount = InitialCount - YearDigits - MonthDigits - DayDigits - Digits - AlphaDigits
If YearDigits = "0" Then WrittenYear = ""
If YearDigits = "2" Then WrittenYear = "Two digit year"
If YearDigits = "4" Then WrittenYear = "Four digit year"
If MonthDigits = "0" Then WrittenMonth = "" Else WrittenMonth = "Two digit month"
If DayDigits = "0" Then WrittenDay = "" Else WrittenDay = "Two digit day"
If NumberDigits = "0" Then WrittenDigits = "" Else WrittenDigits = NumberDigits & " digits"
If AlphaDigits = "0" Then WrittenAlpha = "" Else WrittenAlpha = AlphaDigits & " alpha characters"
WrittenCaseNumber = WrittenYear & WrittenMonth & WrittenDay & WrittenDigits & WrittenAlpha
End Sub