ПрИвЕт!!! люди, помогите пожалуйста сделать макрос!! макрос пишется в таком ключе: [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]
ПрИвЕт!!! люди, помогите пожалуйста сделать макрос!! макрос пишется в таком ключе: [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] Ну да ладно, просто перебором написал уже [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] Чуть изменил и файл перевложил
Уже после того, как сделал, пришла мысль, что можно вот так (в цикле, конечно) [vba]
[/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
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
Немного поясню тогда - циклом делаем перебор по строке 32 и подставляем в построчный Финд, который прокручиваем по n раз для каждого значения (n=В33)_Boroda_
Boroda , у меня не получается прицепить в Ваш код вот это!! [vba]
Код
Cells(Rows.Count, 1).End(xlUp).Offset(0)
[/vba] я не знаю команды языка на котором Вы пишете!! НО!! мне необходимо чтоб после повторного нажатия на кнопку2 новые данные заносились офсетом 0 под предыдущие! а не копировались поверх предыдущих!!
Boroda , у меня не получается прицепить в Ваш код вот это!! [vba]
Код
Cells(Rows.Count, 1).End(xlUp).Offset(0)
[/vba] я не знаю команды языка на котором Вы пишете!! НО!! мне необходимо чтоб после повторного нажатия на кнопку2 новые данные заносились офсетом 0 под предыдущие! а не копировались поверх предыдущих!! Tina90
Сообщение отредактировал Tina90 - Пятница, 27.05.2016, 09:31
в общем так!! макрос прекрааасно работает! осталось только создать два ключевых момента: чтоб он не реагировал на "0" в ячейке В33 , и чтоб при очередном запуске вносил свежие ссылки на продукцию под уже имеющиеся предыдущие ссылки!! а не поверх этих ссылок! дорогой Boroda , куда Вы запропастились в такую жаркую солнечную субботу???
в общем так!! макрос прекрааасно работает! осталось только создать два ключевых момента: чтоб он не реагировал на "0" в ячейке В33 , и чтоб при очередном запуске вносил свежие ссылки на продукцию под уже имеющиеся предыдущие ссылки!! а не поверх этих ссылок! дорогой Boroda , куда Вы запропастились в такую жаркую солнечную субботу??? Tina90