Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Порядковый номер, состоящий из дня и месяца даты в соседней ячейке + собственно номер
 
Ребята, доброй ночи! Помогите, пожалуйста, подправить макрос так, чтобы он выдавал порядковый номер, как показано в крайнем правом столбце приложенного файла-примера. Когда-то где-то откопал его, но уже не помню где, ну и, собственно, не знаю как его переделать под необходимый формат. Впрочем, то, что я этого не знаю для вас уже и не новость.()) Хотя как его подправить, чтобы было в формате "1 день - 1 номер" я таки догадался,  а вот как и что подправить для НУЖНОГО варианта "1 день - несколько номеров" так и не смог.
Заранее огромное спасибо за поддержку!
Изменено: Эльбрус - 12 Янв 2019 00:29:19
 
Доброй ночи.
Этот макрос подправить не получится. Нужно другой писать.
 
Hugo, ой, очень жаль.
Придется вручную вбивать.((
Спасибо за отклик!
 
Прописать в нужном виде не проблема, но код эти значения использует как число, а если добавить слэш и пробелы - это уже не числа...
Может достаточно форматом ячейки отображение поменять? Хотя я не спец по этим форматам, может и нельзя.
 
Hugo, интересное предложение. Попробую-ка я.
 
Вариант формулой.
=ТЕКСТ(B2;"ДДММ")&" / "&"00"&СЧЁТЕСЛИ($B$2:B2;B2)
 
Эльбрус, привет!
Что-то там наворочено, я не разобрался. Попробуйте так:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i&, Tx&
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column > 1 And Target.Column < 7 Then
        Application.EnableEvents = False
        i = Target.Row
        If ActiveSheet.Cells(i, 2) > 0 Then
            If ActiveSheet.Cells(i, 2) = ActiveSheet.Cells(i - 1, 2) Then
                Tx = Right(ActiveSheet.Cells(i - 1, 1), 3)
                Cells(i, 1) = Format(Cells(i, 2).Value, "ddmm") & " / " & Format(Tx + 1, "000")
            Else
                Cells(i, 1) = Format(Cells(i, 2).Value, "ddmm") & " / 001"
            End If
        Else
            Cells(i, 2) = Date
            Cells(i, 1) = Format(Cells(i, 2).Value, "ddmm") & " / 001"
        End If
    End If
    Application.EnableEvents = True
End Sub
 
Михаил С., отлично всё работает, класс! Спасибо большое!

Братцы, огромное всем спасибо. Проблема как всегда решена отличнейшим способом.
Страницы: 1
Читают тему (гостей: 3)
Наверх