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

Вход

Регистрация

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

 

= Мир MS Excel/Добавить условие в макрос подстановки значений - Мир MS Excel

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

Excel 2013
День добрый
а подправьте пожалуйста макрос так что бы он срабатывал только на строки отмеченные в столбце отметка "1"
[vba]
Код
Sub www()
    Dim oTbl As ListObject, cell As Range, trg As Range, s$
    Application.ScreenUpdating = False
    For Each trg In Sheets("Лист1").ListObjects("Таблица1").DataBodyRange.Columns(1).Cells
        For Each oTbl In Sheets("Лист2").ListObjects
            For Each cell In oTbl.DataBodyRange.Columns(1).Cells
                If trg.Value Like "*" & cell.Value & "*" Then
                    s = oTbl.HeaderRowRange.Cells(1)
                    Select Case s
                    Case "Сельхоз", "Производство"
                        trg.Offset(, 1) = s
                    Case "Дерево", "Фрукт", "Инструмент"
                        trg.Offset(, 2) = s
                    End Select
                End If
            Next cell
        Next oTbl
    Next trg
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 1582040-1-.xlsb(21.6 Kb)
 
Ответить
СообщениеДень добрый
а подправьте пожалуйста макрос так что бы он срабатывал только на строки отмеченные в столбце отметка "1"
[vba]
Код
Sub www()
    Dim oTbl As ListObject, cell As Range, trg As Range, s$
    Application.ScreenUpdating = False
    For Each trg In Sheets("Лист1").ListObjects("Таблица1").DataBodyRange.Columns(1).Cells
        For Each oTbl In Sheets("Лист2").ListObjects
            For Each cell In oTbl.DataBodyRange.Columns(1).Cells
                If trg.Value Like "*" & cell.Value & "*" Then
                    s = oTbl.HeaderRowRange.Cells(1)
                    Select Case s
                    Case "Сельхоз", "Производство"
                        trg.Offset(, 1) = s
                    Case "Дерево", "Фрукт", "Инструмент"
                        trg.Offset(, 2) = s
                    End Select
                End If
            Next cell
        Next oTbl
    Next trg
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - micholap_denis
Дата добавления - 10.08.2022 в 08:52
Kuzmich Дата: Среда, 10.08.2022, 22:44 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 682
Репутация: 150 ±
Замечаний: 0% ±

Excel 2003
Цитата
только на строки отмеченные в столбце отметка "1"

[vba]
Код
                If trg.Value Like "*" & cell.Value & "*" And trg.Offset(, 3) = 1 Then
[/vba]
 
Ответить
Сообщение
Цитата
только на строки отмеченные в столбце отметка "1"

[vba]
Код
                If trg.Value Like "*" & cell.Value & "*" And trg.Offset(, 3) = 1 Then
[/vba]

Автор - Kuzmich
Дата добавления - 10.08.2022 в 22:44
micholap_denis Дата: Четверг, 11.08.2022, 08:55 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 304
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Kuzmich, спасибо,работает
 
Ответить
СообщениеKuzmich, спасибо,работает

Автор - micholap_denis
Дата добавления - 11.08.2022 в 08:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавить условие в макрос подстановки значений (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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