у меня строка с фильтром в 5 строке.. отфильтрованное значение, если одно ниже, но в зависимости от срабатывания автофильтра показывает строку от 6 до 2000
у меня строка с фильтром в 5 строке.. отфильтрованное значение, если одно ниже, но в зависимости от срабатывания автофильтра показывает строку от 6 до 2000ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
я возможно не с правильного вопроса начал и темы.. есть файл, у котором 2 листа. На одном листе в первом столбце выделяю ячейку со значением и на другом листе макрос автофильтром ищет это значение в первом столбце.. мне нужно в строку с этим значением (значениями) добавить данные в другой столбец.
я возможно не с правильного вопроса начал и темы.. есть файл, у котором 2 листа. На одном листе в первом столбце выделяю ячейку со значением и на другом листе макрос автофильтром ищет это значение в первом столбце.. мне нужно в строку с этим значением (значениями) добавить данные в другой столбец.ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Да, это совсем другой вопрос, и без Вашего файла с примером трудно сказать что-то конкретное, не самому же этот пример придумывать, что и где в какой строке и в каком столбце?
Да, это совсем другой вопрос, и без Вашего файла с примером трудно сказать что-то конкретное, не самому же этот пример придумывать, что и где в какой строке и в каком столбце?_Igor_61
учитывая правила форума свой файл по размерам не выложу.. Приблизительно (хотя к эксель это не применимо) на листе 2 я в столбце 1 выделяю ячейку и запускаю макрос. Макрос на листе 1 в столбце 1 ищет это значение. Давайте представим, что на листе 1 в столбце 1 значения все уникальные и находится только одна строка по автофильтру. Она по сверху 6-я (т.е. первая после строки с фильтром, но реально по файлу она может быть от 6-ой до 2000-ой)
учитывая правила форума свой файл по размерам не выложу.. Приблизительно (хотя к эксель это не применимо) на листе 2 я в столбце 1 выделяю ячейку и запускаю макрос. Макрос на листе 1 в столбце 1 ищет это значение. Давайте представим, что на листе 1 в столбце 1 значения все уникальные и находится только одна строка по автофильтру. Она по сверху 6-я (т.е. первая после строки с фильтром, но реально по файлу она может быть от 6-ой до 2000-ой)ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Файл урезать можно, зачем сюда все 2000 строк? А по описанию непонятно - причем вообще здесь фильтр, если просто нужно найти конкретное значение?
Файл урезать можно, зачем сюда все 2000 строк? А по описанию непонятно - причем вообще здесь фильтр, если просто нужно найти конкретное значение?_Igor_61
Если угадал - нужно чтобы по выбранному значению фильтр срабатывал?
_Igor_61, так точно.. прошу прощения, что гадать заставил. Ваш макрос у меня работает. Я его расписал, как понял.. но часть одной строки кода не понял. Надеюсь на ваши комментарии
[vba]
Код
Sub БУМЦ() Sheets("Лист2").Activate 'активный лист2 Dim cR As String, rt As String 'обозначаем две переменных текстового типа rt = ActiveCell.Value 'переменная равна значению выбранной (активной) ячейки
Sheets("Лист1").Activate 'переходим на лист2 (я так понимаю можно Activate заменить на Select) Range("K:K").ClearContents ' очищаем стобец K ActiveSheet.Range("$A$5:$A$100").AutoFilter Field:=1, Criteria1:=rt ' фильтруем по столбцу А (первому) по значению переменной rt Dim i ' обозначаем переменную без какого либо типа For i = 2 To 1000 ' делаем цикл (мы взяли 1000 на тот случай, если отфильтрованных значений будет столько?) If Cells(i, 1).Value = rt And Rows(i).Hidden = False Then 'проверка по двум условиям? самая не понятная для меня строка Cells(i, 11) = rt ' записываем значение переменной rt в строку i столбец 11 End If 'выходим из проверки Next i 'закончили цикл End Sub
Если угадал - нужно чтобы по выбранному значению фильтр срабатывал?
_Igor_61, так точно.. прошу прощения, что гадать заставил. Ваш макрос у меня работает. Я его расписал, как понял.. но часть одной строки кода не понял. Надеюсь на ваши комментарии
[vba]
Код
Sub БУМЦ() Sheets("Лист2").Activate 'активный лист2 Dim cR As String, rt As String 'обозначаем две переменных текстового типа rt = ActiveCell.Value 'переменная равна значению выбранной (активной) ячейки
Sheets("Лист1").Activate 'переходим на лист2 (я так понимаю можно Activate заменить на Select) Range("K:K").ClearContents ' очищаем стобец K ActiveSheet.Range("$A$5:$A$100").AutoFilter Field:=1, Criteria1:=rt ' фильтруем по столбцу А (первому) по значению переменной rt Dim i ' обозначаем переменную без какого либо типа For i = 2 To 1000 ' делаем цикл (мы взяли 1000 на тот случай, если отфильтрованных значений будет столько?) If Cells(i, 1).Value = rt And Rows(i).Hidden = False Then 'проверка по двум условиям? самая не понятная для меня строка Cells(i, 11) = rt ' записываем значение переменной rt в строку i столбец 11 End If 'выходим из проверки Next i 'закончили цикл End Sub
Уж коли с фильтром работать, так с фильтром. [vba]
Код
Sub БУМЦ()
Sheets("Лист2").Activate Dim cR As String, rt As String Dim r As Range, ar As Range rt = ActiveCell.Value
Sheets("Лист1").Activate Range("K:K").ClearContents With ActiveSheet .Range("$A$5:$A$100").AutoFilter Field:=1, Criteria1:=rt With .AutoFilter.Range Set r = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(12) For Each ar In r.Areas ar.Offset(, 10) = rt Next End With End With End Sub
[/vba]
Уж коли с фильтром работать, так с фильтром. [vba]
Код
Sub БУМЦ()
Sheets("Лист2").Activate Dim cR As String, rt As String Dim r As Range, ar As Range rt = ActiveCell.Value
Sheets("Лист1").Activate Range("K:K").ClearContents With ActiveSheet .Range("$A$5:$A$100").AutoFilter Field:=1, Criteria1:=rt With .AutoFilter.Range Set r = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(12) For Each ar In r.Areas ar.Offset(, 10) = rt Next End With End With End Sub