Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Форматирование новой строки по ранее заполненой - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Форматирование новой строки по ранее заполненой
Литр Дата: Пятница, 08.05.2026, 11:48 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 0% ±

2013
Всем добра!
Уверен что даже для начинающих такой код будет простейшим но мои познания в VBA еще меньше (((

Имеется "журнал регистрации", постоянно растущий вниз мере заполнения новых строк (событий).
Задача следующая: при изменении значения в диапазоне столбцов А:P все атрибуты форматов ячейки в которой были введены любые значения - были бы назначены аналогично из ячейки строкой выше.
Пример - вводим какое угодно значение в ячейку F654 и после ЕNТЕR или ctrl+V в эту ячейку - она должна получить тот же формат что и в F653
Исключением должны быть первая и вторая строки листа а так же это правило должно работать если "протягивать" вниз.


Сообщение отредактировал Литр - Пятница, 08.05.2026, 13:43
 
Ответить
СообщениеВсем добра!
Уверен что даже для начинающих такой код будет простейшим но мои познания в VBA еще меньше (((

Имеется "журнал регистрации", постоянно растущий вниз мере заполнения новых строк (событий).
Задача следующая: при изменении значения в диапазоне столбцов А:P все атрибуты форматов ячейки в которой были введены любые значения - были бы назначены аналогично из ячейки строкой выше.
Пример - вводим какое угодно значение в ячейку F654 и после ЕNТЕR или ctrl+V в эту ячейку - она должна получить тот же формат что и в F653
Исключением должны быть первая и вторая строки листа а так же это правило должно работать если "протягивать" вниз.

Автор - Литр
Дата добавления - 08.05.2026 в 11:48
MikeVol Дата: Суббота, 09.05.2026, 00:23 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 481
Репутация: 117 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
Литр, Вечер добрый (а может быть и день или утро). Возможно я вас не правильно понял, но всё же пробуйте следуйщий код: [vba]
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a           As Range
    Dim r           As Long

    On Error GoTo ExitHandler

    Dim rng         As Range
    Set rng = Intersect(Target, Me.Range("A:P"))
    If rng Is Nothing Then Exit Sub

    Application.EnableEvents = False

    For Each a In rng.Areas

        For r = Application.Max(3, a.Row) To a.Row + a.Rows.Count - 1
            Me.Range( _
                    Me.Cells(r - 1, a.Column), _
                    Me.Cells(r - 1, a.Column + a.Columns.Count - 1) _
                    ).Copy

            Me.Cells(r, a.Column).PasteSpecial xlPasteFormats
        Next r

    Next a

ExitHandler:

    Application.CutCopyMode = False
    Application.EnableEvents = True
End Sub
[/vba]Данный код поместите в модуль листа где вы хотите
при изменении значения в диапазоне столбцов А:P все атрибуты форматов ячейки в которой были введены любые значения - были бы назначены аналогично из ячейки строкой выше.
Пробуйте и дайте знать. Удачи.


Ученик.
Одесса - Украина
 
Ответить
СообщениеЛитр, Вечер добрый (а может быть и день или утро). Возможно я вас не правильно понял, но всё же пробуйте следуйщий код: [vba]
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a           As Range
    Dim r           As Long

    On Error GoTo ExitHandler

    Dim rng         As Range
    Set rng = Intersect(Target, Me.Range("A:P"))
    If rng Is Nothing Then Exit Sub

    Application.EnableEvents = False

    For Each a In rng.Areas

        For r = Application.Max(3, a.Row) To a.Row + a.Rows.Count - 1
            Me.Range( _
                    Me.Cells(r - 1, a.Column), _
                    Me.Cells(r - 1, a.Column + a.Columns.Count - 1) _
                    ).Copy

            Me.Cells(r, a.Column).PasteSpecial xlPasteFormats
        Next r

    Next a

ExitHandler:

    Application.CutCopyMode = False
    Application.EnableEvents = True
End Sub
[/vba]Данный код поместите в модуль листа где вы хотите
при изменении значения в диапазоне столбцов А:P все атрибуты форматов ячейки в которой были введены любые значения - были бы назначены аналогично из ячейки строкой выше.
Пробуйте и дайте знать. Удачи.

Автор - MikeVol
Дата добавления - 09.05.2026 в 00:23
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!