Мне часто приходится протягивать пустые ячейки при копировании сводной таблицы ( вставить как значение ) Я записал макрос, но он работает только с конкретным файлом, в точности повторяя мои действия.
Что нужно мне :
Что бы по он срабатывал в той ячейке куда я нажимаю.
Как делаю я: 1. фильтр по пустому значению ( столбец ( начинаю с левой части таблицы т.к. там подряд идут цифры ) 2. Нахожу конец диапазона ( обозначаю его) 3. пишу простую формулу =В2 ( в первой пустой ячейке отфильтрованного диапазона В3) 4. протягиваю эту формулу до конца диапазона.
Один столбец готов ( обычно 3-4 столбца )
во вложении полная таблица.
Коллеги, снова здравствуйте !
Возвращаюсь к Вам с очередной просьбой\вопросом.
Мне часто приходится протягивать пустые ячейки при копировании сводной таблицы ( вставить как значение ) Я записал макрос, но он работает только с конкретным файлом, в точности повторяя мои действия.
Что нужно мне :
Что бы по он срабатывал в той ячейке куда я нажимаю.
Как делаю я: 1. фильтр по пустому значению ( столбец ( начинаю с левой части таблицы т.к. там подряд идут цифры ) 2. Нахожу конец диапазона ( обозначаю его) 3. пишу простую формулу =В2 ( в первой пустой ячейке отфильтрованного диапазона В3) 4. протягиваю эту формулу до конца диапазона.
я себе в персонал кинул такой макрос и кнопку вывел [vba]
Code
Sub Zapolnenye_Null() n = Selection.Address On Error GoTo A g = 1 / (Range(n).Cells.Count - 1) Selection.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" Range(n) = Range(n).Value A: Exit Sub End Sub
[/vba] Можно несколько столбцов сразу Предварительно выделить то, что нужно заполнить. Если нижние пустые ячейки не заполнились - нажать еще раз.
я себе в персонал кинул такой макрос и кнопку вывел [vba]
Code
Sub Zapolnenye_Null() n = Selection.Address On Error GoTo A g = 1 / (Range(n).Cells.Count - 1) Selection.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" Range(n) = Range(n).Value A: Exit Sub End Sub
[/vba] Можно несколько столбцов сразу Предварительно выделить то, что нужно заполнить. Если нижние пустые ячейки не заполнились - нажать еще раз._Boroda_
1. Выделаете ячейку диапазона (для этого примера можно любую, для других - левую верхнюю пустую) - F5 - Выделить - Пустые ячейки - ОК - с клавиатуры нажимаете знак = - стрелка вверх - Ctrl+Enter 2. Ставьте Excel 2010. Тогда будет возможность повторять значения строк прямо в сводной, соответственно
Quote (qpp)
при копировании сводной таблицы ( вставить как значение )
делать ничего не надо будет, таблица будет уже заполнена
1. Выделаете ячейку диапазона (для этого примера можно любую, для других - левую верхнюю пустую) - F5 - Выделить - Пустые ячейки - ОК - с клавиатуры нажимаете знак = - стрелка вверх - Ctrl+Enter 2. Ставьте Excel 2010. Тогда будет возможность повторять значения строк прямо в сводной, соответственно
Quote (qpp)
при копировании сводной таблицы ( вставить как значение )
делать ничего не надо будет, таблица будет уже заполненаSerge_007
Sub Макрос1() Columns("B:B").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba]
Я позволю задать себе еще один вопрос
как сделать
так что бы это работало не только по столбцу В
А по любому мной выделенному диапазону ?
[vba]
Code
Sub Макрос1() Columns("B:B").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
Аналогичный, как сделать это без привязки к конкретной ячейки, книге?
Т.е. я навожу на ячейку и в ней появляются ВПР на соседнее значение в этой строке ( справа) т.к. много файлов привязано как раз к справочнику, и я постоянно впр-ю одно и тоже .
[vba]
Code
Sub Макрос2() ' ' Макрос2 Макрос '
' ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-1],'[Справочник Общий (ПЕРЕКОД).xlsx]ТН_вп'!C1:C2,2,0)" Range("F2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-3],'[Справочник Общий (ПЕРЕКОД).xlsx]Бренд_город'!C1:C2,2,0)" Range("F3").Select End Sub
[/vba]
Спасибо.
И последний вопрос на сегодня.
Аналогичный, как сделать это без привязки к конкретной ячейки, книге?
Т.е. я навожу на ячейку и в ней появляются ВПР на соседнее значение в этой строке ( справа) т.к. много файлов привязано как раз к справочнику, и я постоянно впр-ю одно и тоже .
[vba]
Code
Sub Макрос2() ' ' Макрос2 Макрос '
' ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-1],'[Справочник Общий (ПЕРЕКОД).xlsx]ТН_вп'!C1:C2,2,0)" Range("F2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-3],'[Справочник Общий (ПЕРЕКОД).xlsx]Бренд_город'!C1:C2,2,0)" Range("F3").Select End Sub
Sub Макрос1() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
или еще проще Sub Макрос1() Selection = Selection.Value End Sub
к сожалению не работает. [moder]К сожалению, не работает только у вас. И, поскольку мы файла вашего не видим, то, скорее всего, так и не заработает. Кстати, если вдруг желание возникнет разобраться, то сразу отсылаю к Правилам форума - создавайте свою тему.
Sub Макрос1() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
или еще проще Sub Макрос1() Selection = Selection.Value End Sub
к сожалению не работает. [moder]К сожалению, не работает только у вас. И, поскольку мы файла вашего не видим, то, скорее всего, так и не заработает. Кстати, если вдруг желание возникнет разобраться, то сразу отсылаю к Правилам форума - создавайте свою тему.mr_smiit
Сообщение отредактировал _Boroda_ - Понедельник, 27.10.2014, 23:35
добрый день! все делаем как вы и посоветовали, выделяем пустые, нажимаем = стрелка вверх - Ctrl+Enter, происходит заполнение пустых ячеек значением номера вышестоящей ячкейки по левому столбцу. что делаем не так?
добрый день! все делаем как вы и посоветовали, выделяем пустые, нажимаем = стрелка вверх - Ctrl+Enter, происходит заполнение пустых ячеек значением номера вышестоящей ячкейки по левому столбцу. что делаем не так?katrin_z