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

Вход

Регистрация

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

 

= Мир MS Excel/функция ВПР в макросе. - Мир MS Excel

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

Excel 2010
Здравствуйте.

Подскажите пожалуйста как сделать вывод информации в столбце "N" и "O" c помощью макроса. Брать данные из таблицы хочу из диспетчера имен. Уникальное значение искомое в столбце "В"

Нашел подобную тему

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
r_ = Range("A" & Cells.Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("B2:B" & r_)) Is Nothing Then
    For i = 2 To r_
    If Range("A" & i) = Target.Offset(, -1) Then Range("B" & i) = Target
    Next
End If
Application.EnableEvents = 1
End Sub
[/vba]
К сообщению приложен файл: 9646404.xlsx (9.8 Kb)
 
Ответить
СообщениеЗдравствуйте.

Подскажите пожалуйста как сделать вывод информации в столбце "N" и "O" c помощью макроса. Брать данные из таблицы хочу из диспетчера имен. Уникальное значение искомое в столбце "В"

Нашел подобную тему

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
r_ = Range("A" & Cells.Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("B2:B" & r_)) Is Nothing Then
    For i = 2 To r_
    If Range("A" & i) = Target.Offset(, -1) Then Range("B" & i) = Target
    Next
End If
Application.EnableEvents = 1
End Sub
[/vba]

Автор - koyaanisqatsi
Дата добавления - 17.05.2016 в 15:50
krosav4ig Дата: Вторник, 17.05.2016, 16:05 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день. Как-то по коду не очень понятно, чего нужно
может так?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        Target.Offset(, 12) = Application.VLookup(Target, [заказчики], 2, 0)
    End If
    Application.EnableEvents = 1
End Sub
[/vba]
К сообщению приложен файл: 9646404.xls (33.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 17.05.2016, 16:06
 
Ответить
СообщениеДобрый день. Как-то по коду не очень понятно, чего нужно
может так?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        Target.Offset(, 12) = Application.VLookup(Target, [заказчики], 2, 0)
    End If
    Application.EnableEvents = 1
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 17.05.2016 в 16:05
koyaanisqatsi Дата: Вторник, 17.05.2016, 16:09 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Код был из похожей темы. Но там не совсем то что мне надо было. Это на соседнем форуме Борода кому-то написал код в 2010 году. )
 
Ответить
Сообщениеkrosav4ig, Код был из похожей темы. Но там не совсем то что мне надо было. Это на соседнем форуме Борода кому-то написал код в 2010 году. )

Автор - koyaanisqatsi
Дата добавления - 17.05.2016 в 16:09
koyaanisqatsi Дата: Вторник, 17.05.2016, 16:16 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Спасибо огромное код отличный код. Даже разобрался как еще один столбец добавить с информацией )
 
Ответить
Сообщениеkrosav4ig, Спасибо огромное код отличный код. Даже разобрался как еще один столбец добавить с информацией )

Автор - koyaanisqatsi
Дата добавления - 17.05.2016 в 16:16
koyaanisqatsi Дата: Среда, 18.05.2016, 11:12 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Макрос работает нормально все ищет.

Но когда не находит нужного пишет #Н/Д можно сделать чтобы не выдавал ошибки а просто были бы пустые поля ?

Так же происходит и когда на искомое значение нажать клавишу делит. Даже если до этого он нашел значение и отобразил нужную информацию.
 
Ответить
Сообщениеkrosav4ig, Макрос работает нормально все ищет.

Но когда не находит нужного пишет #Н/Д можно сделать чтобы не выдавал ошибки а просто были бы пустые поля ?

Так же происходит и когда на искомое значение нажать клавишу делит. Даже если до этого он нашел значение и отобразил нужную информацию.

Автор - koyaanisqatsi
Дата добавления - 18.05.2016 в 11:12
_Boroda_ Дата: Среда, 18.05.2016, 11:21 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Чуть-чуть дописать нужно
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        On Error Resume Next
        z_ = WorksheetFunction.VLookup(Target, [заказчики], 2, 0)
        Target.Offset(, 12) = z_
    End If
    Application.EnableEvents = 1
End Sub
[/vba]
К сообщению приложен файл: 9646404_1.xls (35.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЧуть-чуть дописать нужно
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        On Error Resume Next
        z_ = WorksheetFunction.VLookup(Target, [заказчики], 2, 0)
        Target.Offset(, 12) = z_
    End If
    Application.EnableEvents = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 18.05.2016 в 11:21
koyaanisqatsi Дата: Среда, 18.05.2016, 11:27 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Благодарю теперь. Все чистенько работает.
 
Ответить
Сообщение_Boroda_, Благодарю теперь. Все чистенько работает.

Автор - koyaanisqatsi
Дата добавления - 18.05.2016 в 11:27
krosav4ig Дата: Среда, 18.05.2016, 23:52 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно так еще
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    With Application
        .EnableEvents = 0
        If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
            Target.Offset(, 12) = .IfError(.VLookup(Target, [заказчики], 2, 0), "")
        End If
        .EnableEvents = 1
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно так еще
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    With Application
        .EnableEvents = 0
        If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
            Target.Offset(, 12) = .IfError(.VLookup(Target, [заказчики], 2, 0), "")
        End If
        .EnableEvents = 1
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 18.05.2016 в 23:52
Мир MS Excel » Вопросы и решения » Вопросы по VBA » функция ВПР в макросе. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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