Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2022, 09:34   #1
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию записывать переменные, в зависимости от выбора ячейки в диапазоне

Ребята доброго всем суток! подсобите в решении такого вопроса, в работе макроса требуется,
записывать переменные p или q , которая в зависимости от выбора ячейки в диапазоне будет прописаны в одну stb. пример:
Код:
Public Function список(ByVal Target As Range)
Set sh = ThisWorkbook.Worksheets("db")
Set p = sh.Range("Изделие1")
Set q = sh.Range("Бренд1")
    If Target.Cells.Count > 1 Then Exit Function
    If IsEmpty(Target) Then Exit Function
    If Not Intersect(Target, Range("G3:G1000")) Is Nothing Then ‘в зависимости от выбора ячейки в диапазоне = p
    If Not Intersect(Target, Range("H3:H1000")) Is Nothing Then ‘в зависимости от выбора ячейки в диапазоне = q    
‘переменная взята произвольно stb в переменную записывать переменные p или q, в зависимости от выбора ячейки в диапазоне
    If WorksheetFunction.CountIf(stb, Target) = 0 Then
    r = MsgBox("Вы пытаетесь добавить: " & Target, vbInformation + vbYesNo, "Информация")
    If r = vbYes Then stb.Cells(stb.Rows.Count + 1) = Target
End If
 End If
End  Function
Заранее всем благодарен!
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 12.02.2022, 09:51   #2
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

наверное все было просто, получилось так
Код:
    If Not Intersect(Target, Range("G3:G1000")) Is Nothing Then Set stb = p
     If Not Intersect(Target, Range("H3:H1000")) Is Nothing Then Set stb = q
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 12.02.2022, 10:05   #3
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

правда говоря не совсем так , если я нахожусь на самом листе то все работает но ка только этот лист активируется идет ошибка "object reguired" на строке
Код:
If WorksheetFunction.CountIf(stb, Target) = 0 Then
вопрос был решен вот такой строкой
Код:
If IsEmpty(stb) Then Exit Function
если кому потребуется , полный код:
Код:
Public Function список(ByVal Target As Range)
Set sh = ThisWorkbook.Worksheets("db")
Set p = sh.Range("Изделие1")
Set q = sh.Range("Бренд1")
    If Target.Cells.Count > 1 Then Exit Function
    If IsEmpty(Target) Then Exit Function 'окончание работы функции при удалении из ячейки
    If Not Intersect(Target, Range("G3:G1000")) Is Nothing Then Set stb = p
    If Not Intersect(Target, Range("H3:H1000")) Is Nothing Then Set stb = q
    If IsEmpty(stb) Then Exit Function
    If WorksheetFunction.CountIf(stb, Target) = 0 Then
    r = MsgBox("Вы пытаетесь добавить: " & Target, vbInformation + vbYesNo, "Информация")
    If r = vbYes Then stb.Cells(stb.Rows.Count + 1) = Target
End If
End Function
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!

Последний раз редактировалось DMITRIY_78; 12.02.2022 в 13:01.
DMITRIY_78 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сли значения ячейки в диапазоне (L2:Y2) в строке ровна значению ячейки в столбце в диапазоне (E3:E14), на перекрестии выявить значение из под столбца итог assenovаD Microsoft Office Excel 5 11.01.2020 17:10
Подсчет колл ячеек в диапазоне в зависимости от цвета ячейки и значения в смежной ячейке Goodrich Microsoft Office Excel 4 14.10.2019 12:26
Поиск совпадений в диапазоне и поставление значения соседней от совпавшей ячейки, Поиск совпадений в диапазоне ANshag Microsoft Office Excel 3 08.09.2015 16:35
Вызов функции в зависимости от выбора drka Общие вопросы Delphi 17 19.02.2015 12:51
Подстановка значений в зависимости от выбора из списка MihailBY Microsoft Office Excel 17 08.07.2010 00:21