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

Вход

Регистрация

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

 

= Мир MS Excel/макрос, автоматически вставляющий значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос, автоматически вставляющий значения (Макросы/Sub)
макрос, автоматически вставляющий значения
Serge1400 Дата: Воскресенье, 07.06.2020, 17:25 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Логичнее конечно к с этим вопросом обратиться к автору макроса Сане Boroda, но я увидел, что он с начала мая на форум не заходил. Поэтому решил обратиться за помощью к общественности.
Трудится в моих расчетах макрос, сделанный мне в свое время Саней Boroda. Работает он так: при совпадении значений в ячейках колонки B. он автоматически дублирует значения в ячейках колонок K и L - значения в колонке B изначально проставляются вручную (во вложенном примере видно как все работает).

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
r0_ = 3
r1_ = Range("C" & Rows.Count).End(3).Row
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Then
c_ = Target.Column
r_ = Target.Row
kod_ = CCur(Range("B" & r_))
Application.EnableEvents = 0
For i = r_ + 1 To r1_
If Len(Range("B" & i)) < 2 Then Exit For
If CCur(Range("B" & i)) = kod_ Then
Cells(i, c_) = Target.Value
Cells(i, c_).Interior.Color = Target.Interior.Color
End If
Next i
Application.EnableEvents = 1
End If
End Sub
[/vba]
Нынче появилась потребность потребность в выполнении практически такой же задачи: при совпадении значений в колонке BG должен автоматически в той же строке, но уже в колонке BF (значения изначально в этой колонке также вносятся вручную). Я честно потратил 2 дня чтобы разобраться при помощи интернета ибо знаний чуть выше нуля - переделать увы, не смог.
К сообщению приложен файл: __07.06.20.xlsm(19.4 Kb)


Сообщение отредактировал Serge1400 - Воскресенье, 07.06.2020, 17:39
 
Ответить
СообщениеЛогичнее конечно к с этим вопросом обратиться к автору макроса Сане Boroda, но я увидел, что он с начала мая на форум не заходил. Поэтому решил обратиться за помощью к общественности.
Трудится в моих расчетах макрос, сделанный мне в свое время Саней Boroda. Работает он так: при совпадении значений в ячейках колонки B. он автоматически дублирует значения в ячейках колонок K и L - значения в колонке B изначально проставляются вручную (во вложенном примере видно как все работает).

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
r0_ = 3
r1_ = Range("C" & Rows.Count).End(3).Row
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Then
c_ = Target.Column
r_ = Target.Row
kod_ = CCur(Range("B" & r_))
Application.EnableEvents = 0
For i = r_ + 1 To r1_
If Len(Range("B" & i)) < 2 Then Exit For
If CCur(Range("B" & i)) = kod_ Then
Cells(i, c_) = Target.Value
Cells(i, c_).Interior.Color = Target.Interior.Color
End If
Next i
Application.EnableEvents = 1
End If
End Sub
[/vba]
Нынче появилась потребность потребность в выполнении практически такой же задачи: при совпадении значений в колонке BG должен автоматически в той же строке, но уже в колонке BF (значения изначально в этой колонке также вносятся вручную). Я честно потратил 2 дня чтобы разобраться при помощи интернета ибо знаний чуть выше нуля - переделать увы, не смог.

Автор - Serge1400
Дата добавления - 07.06.2020 в 17:25
Pelena Дата: Воскресенье, 07.06.2020, 17:28 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Не, такое название темы не пойдёт. Название темы должно отражать суть задачи. Исправьте


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе, такое название темы не пойдёт. Название темы должно отражать суть задачи. Исправьте

Автор - Pelena
Дата добавления - 07.06.2020 в 17:28
Serge1400 Дата: Воскресенье, 07.06.2020, 17:36 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не, такое название темы не пойдёт. Название темы должно отражать суть задачи. Исправьте

А вот так нормально?
 
Ответить
Сообщение
Не, такое название темы не пойдёт. Название темы должно отражать суть задачи. Исправьте

А вот так нормально?

Автор - Serge1400
Дата добавления - 07.06.2020 в 17:36
Pelena Дата: Воскресенье, 07.06.2020, 17:53 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Попробуйте вставить ещё одно условие
[vba]
Код
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Or Not Intersect(Target, Range("BF" & r0_ & ":BG" & r1_)) Is Nothing Then
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробуйте вставить ещё одно условие
[vba]
Код
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Or Not Intersect(Target, Range("BF" & r0_ & ":BG" & r1_)) Is Nothing Then
[/vba]

Автор - Pelena
Дата добавления - 07.06.2020 в 17:53
Serge1400 Дата: Воскресенье, 07.06.2020, 18:53 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Попробуйте вставить ещё одно условие

Вставил но либо не туда либо не так - начал ругаться на концовку Sub


Сообщение отредактировал Serge1400 - Воскресенье, 07.06.2020, 18:55
 
Ответить
Сообщение
Попробуйте вставить ещё одно условие

Вставил но либо не туда либо не так - начал ругаться на концовку Sub

Автор - Serge1400
Дата добавления - 07.06.2020 в 18:53
Pelena Дата: Воскресенье, 07.06.2020, 18:55 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Просто в своём коде поменяйте строчку
[vba]
Код
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Then
[/vba]
на эту из предыдущего сообщения


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПросто в своём коде поменяйте строчку
[vba]
Код
If Not Intersect(Target, Range("K" & r0_ & ":L" & r1_)) Is Nothing Then
[/vba]
на эту из предыдущего сообщения

Автор - Pelena
Дата добавления - 07.06.2020 в 18:55
Serge1400 Дата: Воскресенье, 07.06.2020, 19:06 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Заработало, но не совсем как надо. %)
Забыл уточнить, что во втором случае работу макроса не надо привязывать в колонке B. Только BF и BG.


Сообщение отредактировал Serge1400 - Воскресенье, 07.06.2020, 19:19
 
Ответить
СообщениеЗаработало, но не совсем как надо. %)
Забыл уточнить, что во втором случае работу макроса не надо привязывать в колонке B. Только BF и BG.

Автор - Serge1400
Дата добавления - 07.06.2020 в 19:06
Pelena Дата: Воскресенье, 07.06.2020, 19:25 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
То есть вместо B надо BF, а вместо K надо BG?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТо есть вместо B надо BF, а вместо K надо BG?

Автор - Pelena
Дата добавления - 07.06.2020 в 19:25
Serge1400 Дата: Воскресенье, 07.06.2020, 19:34 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
То есть вместо B надо BF, а вместо K надо BG?

Спасибо! hands hands

Уже сообразил как сделать - я по сути из двух макросов один слепил.
Вроде все работает как надо и в первом и во втором случае.
 
Ответить
Сообщение
То есть вместо B надо BF, а вместо K надо BG?

Спасибо! hands hands

Уже сообразил как сделать - я по сути из двух макросов один слепил.
Вроде все работает как надо и в первом и во втором случае.

Автор - Serge1400
Дата добавления - 07.06.2020 в 19:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос, автоматически вставляющий значения (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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