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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование ссылок на искомые ячейки по трем условиям - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование ссылок на искомые ячейки по трем условиям (Макросы/Sub)
Копирование ссылок на искомые ячейки по трем условиям
Tina90 Дата: Четверг, 26.05.2016, 22:40 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: -16 ±
Замечаний: 60% ±

Excel 2013
ПрИвЕт!!! люди, помогите пожалуйста сделать макрос!! макрос пишется в таком ключе:
[vba]
Код

Sub CityGds()
Dim a As Integer, ra As Range, ra1 As Range
Set ra = Range("A2:H31")
Select Case Val(Cells(32, 2))
End Select
Set ra1 = ra.Find(Cells(32, 2), LookAt:=xlWhole)
If Not ra1 Is Nothing Then
'а дальше нужно искать варианты продолжения на работе!! а я там буду только в понедельник! хочу сделать все на выходных!! файл примера прилагаю!
[/vba]
К сообщению приложен файл: WorkCity.xlsm(28Kb)
 
Ответить
СообщениеПрИвЕт!!! люди, помогите пожалуйста сделать макрос!! макрос пишется в таком ключе:
[vba]
Код

Sub CityGds()
Dim a As Integer, ra As Range, ra1 As Range
Set ra = Range("A2:H31")
Select Case Val(Cells(32, 2))
End Select
Set ra1 = ra.Find(Cells(32, 2), LookAt:=xlWhole)
If Not ra1 Is Nothing Then
'а дальше нужно искать варианты продолжения на работе!! а я там буду только в понедельник! хочу сделать все на выходных!! файл примера прилагаю!
[/vba]

Автор - Tina90
Дата добавления - 26.05.2016 в 22:40
_Boroda_ Дата: Четверг, 26.05.2016, 23:15 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Уже после того, как сделал, пришла мысль, что можно вот так (в цикле, конечно)
[vba]
Код
Range("A2:H31").Find(What:="Клип Ф ", SearchOrder:=xlByRows).Address(0, 0)
[/vba]
Ну да ладно, просто перебором написал уже
[vba]
Код
Sub tt()
    Dim A1 As Range, a2 As Range, x_ As Range, y As Range
    Application.ScreenUpdating = 0
    Set A1 = Range("A2:H31")
    Set a2 = Range("B32:H32")
    r_ = 1
    lim_ = Range("B33") + r_
    c_ = 11
    For Each x_ In a2
        c_ = c_ + 1
        For Each y_ In A1
            If y_.Value = x_.Value Then
                r_ = r_ + 1
                Cells(r_, c_).Formula = "=" & y_.Address(0, 0)
                If r_ = lim_ Then
                r_ = 1
                Exit For
                End If
            End If
        Next y_
    Next x_
End Sub
[/vba]
Чуть изменил и файл перевложил
К сообщению приложен файл: WorkCity_2.xlsm(31Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеУже после того, как сделал, пришла мысль, что можно вот так (в цикле, конечно)
[vba]
Код
Range("A2:H31").Find(What:="Клип Ф ", SearchOrder:=xlByRows).Address(0, 0)
[/vba]
Ну да ладно, просто перебором написал уже
[vba]
Код
Sub tt()
    Dim A1 As Range, a2 As Range, x_ As Range, y As Range
    Application.ScreenUpdating = 0
    Set A1 = Range("A2:H31")
    Set a2 = Range("B32:H32")
    r_ = 1
    lim_ = Range("B33") + r_
    c_ = 11
    For Each x_ In a2
        c_ = c_ + 1
        For Each y_ In A1
            If y_.Value = x_.Value Then
                r_ = r_ + 1
                Cells(r_, c_).Formula = "=" & y_.Address(0, 0)
                If r_ = lim_ Then
                r_ = 1
                Exit For
                End If
            End If
        Next y_
    Next x_
End Sub
[/vba]
Чуть изменил и файл перевложил

Автор - _Boroda_
Дата добавления - 26.05.2016 в 23:15
RAN Дата: Четверг, 26.05.2016, 23:29 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub мяв()
Dim i&, cl As Range
    For i = 2 To 8
        For Each cl In [a2:h31]
            If cl.Value = Cells(32, i).Value Then
                Cells(Rows.Count, i + 10).End(xlUp).Offset(1).Formula = "=" & cl.Address(0, 0)
            End If
        Next
    Next
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub мяв()
Dim i&, cl As Range
    For i = 2 To 8
        For Each cl In [a2:h31]
            If cl.Value = Cells(32, i).Value Then
                Cells(Rows.Count, i + 10).End(xlUp).Offset(1).Formula = "=" & cl.Address(0, 0)
            End If
        Next
    Next
End Sub
[/vba]

Автор - RAN
Дата добавления - 26.05.2016 в 23:29
Tina90 Дата: Четверг, 26.05.2016, 23:37 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: -16 ±
Замечаний: 60% ±

Excel 2013
BORODA , RAN!!! гран мерсииии!! :hands:

после того, как сделал, пришла мысль, что можно вот так
Range("A2:H31").Find(What:="Клип Ф "

так "Клип Ф" это переменная!! на месте этого продукта на следующий раз будет совершенно другой продукт!!! %)
 
Ответить
СообщениеBORODA , RAN!!! гран мерсииии!! :hands:

после того, как сделал, пришла мысль, что можно вот так
Range("A2:H31").Find(What:="Клип Ф "

так "Клип Ф" это переменная!! на месте этого продукта на следующий раз будет совершенно другой продукт!!! %)

Автор - Tina90
Дата добавления - 26.05.2016 в 23:37
_Boroda_ Дата: Четверг, 26.05.2016, 23:41 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
так "Клип Ф" это переменная!! на месте этого продукта на следующий раз будет совершенно другой продукт!!!

Вот я так и знал, что Вы это напишете. И именно поэтому уточнил:
в цикле, конечно

Немного поясню тогда - циклом делаем перебор по строке 32 и подставляем в построчный Финд, который прокручиваем по n раз для каждого значения (n=В33)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
так "Клип Ф" это переменная!! на месте этого продукта на следующий раз будет совершенно другой продукт!!!

Вот я так и знал, что Вы это напишете. И именно поэтому уточнил:
в цикле, конечно

Немного поясню тогда - циклом делаем перебор по строке 32 и подставляем в построчный Финд, который прокручиваем по n раз для каждого значения (n=В33)

Автор - _Boroda_
Дата добавления - 26.05.2016 в 23:41
Tina90 Дата: Четверг, 26.05.2016, 23:47 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: -16 ±
Замечаний: 60% ±

Excel 2013
Вот я так и знал

спасибо еще раз!!!! завтра утречком буду ваять и потрошить!!!! :D
 
Ответить
Сообщение
Вот я так и знал

спасибо еще раз!!!! завтра утречком буду ваять и потрошить!!!! :D

Автор - Tina90
Дата добавления - 26.05.2016 в 23:47
Tina90 Дата: Пятница, 27.05.2016, 09:31 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: -16 ±
Замечаний: 60% ±

Excel 2013
пришла мысль, что можно


Boroda , у меня не получается прицепить в Ваш код вот это!!
[vba]
Код

Cells(Rows.Count, 1).End(xlUp).Offset(0)
[/vba]
я не знаю команды языка на котором Вы пишете!! НО!! мне необходимо чтоб после повторного нажатия на кнопку2 новые данные заносились офсетом 0 под предыдущие! а не копировались поверх предыдущих!! :(


Сообщение отредактировал Tina90 - Пятница, 27.05.2016, 09:31
 
Ответить
Сообщение
пришла мысль, что можно


Boroda , у меня не получается прицепить в Ваш код вот это!!
[vba]
Код

Cells(Rows.Count, 1).End(xlUp).Offset(0)
[/vba]
я не знаю команды языка на котором Вы пишете!! НО!! мне необходимо чтоб после повторного нажатия на кнопку2 новые данные заносились офсетом 0 под предыдущие! а не копировались поверх предыдущих!! :(

Автор - Tina90
Дата добавления - 27.05.2016 в 09:31
Tina90 Дата: Суббота, 28.05.2016, 15:43 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: -16 ±
Замечаний: 60% ±

Excel 2013
в общем так!! макрос прекрааасно работает! hands осталось только создать два ключевых момента: чтоб он не реагировал на "0" в ячейке В33 , и чтоб при очередном запуске вносил свежие ссылки на продукцию под уже имеющиеся предыдущие ссылки!! а не поверх этих ссылок! yes дорогой Boroda , куда Вы запропастились в такую жаркую солнечную субботу??? :D
 
Ответить
Сообщениев общем так!! макрос прекрааасно работает! hands осталось только создать два ключевых момента: чтоб он не реагировал на "0" в ячейке В33 , и чтоб при очередном запуске вносил свежие ссылки на продукцию под уже имеющиеся предыдущие ссылки!! а не поверх этих ссылок! yes дорогой Boroda , куда Вы запропастились в такую жаркую солнечную субботу??? :D

Автор - Tina90
Дата добавления - 28.05.2016 в 15:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование ссылок на искомые ячейки по трем условиям (Макросы/Sub)
Страница 1 из 11
Поиск:

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