Вопрос в большей степени чисто теоретический. Есть столбцы значение которых соот. строкам (ячейкам в строках) Фильтруем по-всякому строки и нужно получить соот столбцы. Я это сбацал формулами и макросом, пытался сбацать это чисто макросом - тормозит падло! Чисто я мож не тот макрос применил - вопрос что эффективнее - формула + макрос или есть какой-то макрос, о котором я не знаю...
Вопрос в большей степени чисто теоретический. Есть столбцы значение которых соот. строкам (ячейкам в строках) Фильтруем по-всякому строки и нужно получить соот столбцы. Я это сбацал формулами и макросом, пытался сбацать это чисто макросом - тормозит падло! Чисто я мож не тот макрос применил - вопрос что эффективнее - формула + макрос или есть какой-то макрос, о котором я не знаю...Nic70y
Фильтруем полюбому (как в голову взбредет, используя фильтра от B до H)затем смотрим, что осталось в столбце E и жмем "Показать выбранный" - вот и результат. Работает все верно, но для этого у меня формулы в столбце A и B3 и C3, а также в строке 1. кода я написал макрос, который работает без этих формул - он пабла тормозит по полной программе. В принципе проблем нет с формулами все прелестно - вопрос можно без них ваще и чтобы не тормозило.
Фильтруем полюбому (как в голову взбредет, используя фильтра от B до H)затем смотрим, что осталось в столбце E и жмем "Показать выбранный" - вот и результат. Работает все верно, но для этого у меня формулы в столбце A и B3 и C3, а также в строке 1. кода я написал макрос, который работает без этих формул - он пабла тормозит по полной программе. В принципе проблем нет с формулами все прелестно - вопрос можно без них ваще и чтобы не тормозило.Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Воскресенье, 08.02.2015, 18:09
Можно загнать в массив а не ячейки обрабатывать тогда быстрее будет. Во вложении. Вроде быстро отрабатывает. Только если структуру менять будете (строки например убавлять), то в макросе это надо учесть.
UPD Может не так поняла задачу.. А "выбранным" кто считается?
Можно загнать в массив а не ячейки обрабатывать тогда быстрее будет. Во вложении. Вроде быстро отрабатывает. Только если структуру менять будете (строки например убавлять), то в макросе это надо учесть.
UPD Может не так поняла задачу.. А "выбранным" кто считается?Leanna
Sub qwe() Dim r As Range, c As Range Set r = [E:E].SpecialCells(2, 23).SpecialCells(12) Application.ScreenUpdating = 0 [I:P].EntireColumn.Hidden = True For Each c In [I2:P2] If Not r.Find(c, , xlValues, xlWhole) Is Nothing Then c.EntireColumn.Hidden = 0 Next End Sub
[/vba]
Вдруг правильно? [vba]
Код
Sub qwe() Dim r As Range, c As Range Set r = [E:E].SpecialCells(2, 23).SpecialCells(12) Application.ScreenUpdating = 0 [I:P].EntireColumn.Hidden = True For Each c In [I2:P2] If Not r.Find(c, , xlValues, xlWhole) Is Nothing Then c.EntireColumn.Hidden = 0 Next End Sub
krosav4ig, подскажите пожалуйста, что означает 23 в этой строчке Set r = [E:E].SpecialCells(2, 23).SpecialCells(12) ? 2 - это берем только константы, 12 только видимые а 23 что означает? Почему используется r.Areas а не просто r? что это дает? Спасибо.
krosav4ig, подскажите пожалуйста, что означает 23 в этой строчке Set r = [E:E].SpecialCells(2, 23).SpecialCells(12) ? 2 - это берем только константы, 12 только видимые а 23 что означает? Почему используется r.Areas а не просто r? что это дает? Спасибо.Leanna
Лучше день потерять, потом за пять минут долететь!
Leanna, 23 это сумма xlErrors (16), xlLogical (4), xlNumbers (1), xlTextValues(2), т.е. если нужны только числа и текст то будет 3, цикл с r.Areas я просто пропустил, хотел его убрать, сначала чего-то в голову ударило, потом одумался, исправил свой пост
Leanna, 23 это сумма xlErrors (16), xlLogical (4), xlNumbers (1), xlTextValues(2), т.е. если нужны только числа и текст то будет 3, цикл с r.Areas я просто пропустил, хотел его убрать, сначала чего-то в голову ударило, потом одумался, исправил свой постkrosav4ig