Проблемы с MID (text, start_num, num_chars) при изменении строк - PullRequest
0 голосов
/ 24 ноября 2018

Я создал простой тест, потому что я хочу создать шаблон для быстрой вставки и разделения числа, которое вставляется в одно место, но когда я изменяю строку в ячейке I3 , я хочу, чтобы число ниже "Целое число"в ячейке I6 необходимо установить ноль.

Также я хочу, чтобы строка 6 оставалась неизменной из столбца A до E .

Следующий номер вставлен внутри I6 Я хочу отделиться и поместить в строку 7 (из столбца A до E ), когда я изменю строку на I3 на номер 7. Посмотрите на картинку, которую я прикрепил.Есть ли способ реализовать это?

enter image description here

1 Ответ

0 голосов
/ 24 ноября 2018

Поместите эту функцию в редактор VBA на лист, где находятся ваши данные. Например, если ваши данные находятся на Листе1, вставьте эту функцию в Лист1 редактора VBA

Private Sub Worksheet_Change(ByVal Target As Range)

    If (Target.Address = "$I$6") Then

        row_num = Range("I3").Value

        If Not IsNumeric(row_num) Then Exit Sub
        If (row_num < 6) Then Exit Sub

        number_value = Target.Value

        If Not IsNumeric(number_value) Then Exit Sub
        If (number_value < 10000 Or number_value > 99999) Then Exit Sub


        Range("A" & row_num).Value = Mid(number_value, 1, 1)
        Range("B" & row_num).Value = Mid(number_value, 2, 1)
        Range("C" & row_num).Value = Mid(number_value, 3, 1)
        Range("D" & row_num).Value = Mid(number_value, 4, 1)
        Range("E" & row_num).Value = Mid(number_value, 5, 1)

    End If


    If (Target.Address = "$I$3") Then
        Range("I6").Value = 0
    End If

End Sub

Дважды щелкните Имя листа и вставьте функцию

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...