У меня есть формула Excel VBA, которую я пытаюсь изменить формулу, Sub letterToHex прекрасно работает.Но я не могу понять, как получить последние этапы работы в обратном порядке, чтобы преобразовать Hex-код обратно в CPJ.Мне удалось заставить первые несколько этапов работать в Sub HextoLetter
Sub LetterToHex()
R1 = "CPJ"
N1 = Asc(Right(R1, 1)) - 64 ' Result is ASCII value of letter J is (74) - 64 = 10
N1 = N1 + (Asc(Mid(R1, 2, 1)) - 64) * 64 ' Result is ASCII value of letter P is (80) - 64 * 64 = 1234 + N1 value 10 = 1034
n11 = (Asc(Left(R1, 1)) - 64) * 64 ' Result is ASCII value of letter C (67) - 64 =3 * 64 = 192
N1 = N1 + n11 * 64 ' result is 13322
N1 = N1 + 14680064 ' Result is 14693386
N2 = Hex(N1) 'Result is N2 = E0340A
dec = CLng("&H" & N2)
notfound:
End Sub
Sub HextoLetter()
hexcode = "E0340A"
dec = CLng("&H" & hexcode) '14693386
shortdec = dec - 14680064 '13322
End Sub
Мне нужно завершить код HextoLetter, чтобы преобразовать шестнадцатеричный код E0340A обратно в CPJ
дополнительный код, отображаемый для
Sub LetterToHex_CPK()
R1 = "CPK"
N1 = Asc(Right(R1, 1)) - 64 ' Result is ASCII value of letter K is (75) - 64 = 11
MsgBox N1
N1 = N1 + (Asc(Mid(R1, 2, 1)) - 64) * 64 ' Result is ASCII value of letter P is (80) - 64 * 64 = 1234 + N1 value 11 = 1035
MsgBox N1
n11 = (Asc(Left(R1, 1)) - 64) * 64 ' Result is ASCII value of letter C (67) - 64 =3 * 64 = 192
MsgBox n11
N1 = N1 + n11 * 64 ' result is 13323
MsgBox N1
N1 = N1 + 14680064 ' Result is 14693387
MsgBox N1
N2 = Hex(N1) 'Result is N2 = E0340B
MsgBox N2
dec = CLng("&H" & N2)
notfound:
End Sub