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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос на список значений назначенный на конкретные ячейки - Мир MS Excel

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

Excel 2016
Добрый день!
Никогда не программировал на VBA, так что особо не пинайте.
Есть небольшая задачка.
Приложил скрин с формата файла. Нужно назначить на выделенные стрелочкой макрос VBA, для остальных ячеек, макрос отрабатывать не должен.
Что делает макрос? Он дает возможность вставлять несколько значений через запятую в объединенные ячейки.
Пример макроса, который сейчас есть:

# Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
If Target.Cells.Count = 1 And Target.Column = 4 And Target.Row = 7 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & ", " & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub #

Список значений назначенный на ячейку, берется со второй закладки.
К сообщению приложен файл: 6898278.png (46.4 Kb) · Example.xlsm (22.1 Kb)


Сообщение отредактировал voxron - Среда, 10.01.2018, 11:31
 
Ответить
СообщениеДобрый день!
Никогда не программировал на VBA, так что особо не пинайте.
Есть небольшая задачка.
Приложил скрин с формата файла. Нужно назначить на выделенные стрелочкой макрос VBA, для остальных ячеек, макрос отрабатывать не должен.
Что делает макрос? Он дает возможность вставлять несколько значений через запятую в объединенные ячейки.
Пример макроса, который сейчас есть:

# Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
If Target.Cells.Count = 1 And Target.Column = 4 And Target.Row = 7 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & ", " & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub #

Список значений назначенный на ячейку, берется со второй закладки.

Автор - voxron
Дата добавления - 10.01.2018 в 11:21
Pelena Дата: Среда, 10.01.2018, 11:23 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
voxron, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеvoxron, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 10.01.2018 в 11:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос на список значений назначенный на конкретные ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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