Заменить номер соответствующей буквой - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь отформатировать некоторые числовые данные. Для каждой ячейки в пределах диапазона мне нужно заменить первое число только соответствующей буквой. 1 = A, 2 = B et c. а затем удалите 2-е и 3-е числа.

Так, например:

11111 --> A11
12345 --> A45
23456 --> B56
56789 --> E89

Есть ли простой способ сделать это с форматированием? Мне нужно только go до E.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Мое предложение будет

Option Explicit

Function conA_E(inp As String) As String
    Dim res As String
    Dim ch As String

    On Error GoTo EH
    ch = Left(inp, 1)

    If ch <= 6 And ch >= 1 Then
        res = Chr(Asc(Mid(inp, 1, 1)) + 16) & Mid(inp, 4)
    Else
        'res = ch & Mid(inp, 4) ' In Case 2nd and 3rd digit should always be deleted
        res = inp               ' No change if first digit is bigger than 5
    End If


    conA_E = res

    Exit Function

EH:
    conA_E = inp

End Function

Sub TestIt()
    Dim inp As String
    inp = "1214222"

    Debug.Print conA_E(inp)
End Sub
0 голосов
/ 24 апреля 2020

Вот небольшой VBA-код для выполнения sh того, что вам нужно:

s = "56789"
s = Chr(Asc(Mid(s, 1, 1)) + 16) & Mid(s, 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...