есть жутко тугой и агромадный лист с кучей формул. без них никак. сдавать лист надо только в числах, без всяких формул(начальство ж.. ). подскажите, как на дополнительном листе (скажем,лист 2) сделать кнопу, при нажатии на которую все формулы с листа 1 переводились бы в абсолютное значение?(vba). точнее, че в кнопе писать? в идеале, и чтоб "лист 2" после отработки ушел в историю, и не отображался
есть жутко тугой и агромадный лист с кучей формул. без них никак. сдавать лист надо только в числах, без всяких формул(начальство ж.. ). подскажите, как на дополнительном листе (скажем,лист 2) сделать кнопу, при нажатии на которую все формулы с листа 1 переводились бы в абсолютное значение?(vba). точнее, че в кнопе писать? в идеале, и чтоб "лист 2" после отработки ушел в историю, и не отображалсяlordua
Объединенные ячейки есть? Приведите в файле пример - небольшой кусок Вашего файла. В самом простом случае Вам достаточно просто встать в А1, нажать Контрл Шифт Енд, скопировать, Прав. кн. мыши - спецвставка - значения. Все то же самое макросом [vba]
Код
Sub zn() Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).PasteSpecial (xlPasteValues) Application.CutCopyMode = False End Sub
[/vba]
Объединенные ячейки есть? Приведите в файле пример - небольшой кусок Вашего файла. В самом простом случае Вам достаточно просто встать в А1, нажать Контрл Шифт Енд, скопировать, Прав. кн. мыши - спецвставка - значения. Все то же самое макросом [vba]
Код
Sub zn() Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).PasteSpecial (xlPasteValues) Application.CutCopyMode = False End Sub
Sub Replace_by_VAL() ' в выбранном диапазоне в не скрытых ячейках заменить формулы на значения On Error Resume Next For Each Ar In ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeFormulas).Areas Ar.Value = Ar.Value Next End Sub
[/vba]
Я вот таким макросом например [vba]
Код
Sub Replace_by_VAL() ' в выбранном диапазоне в не скрытых ячейках заменить формулы на значения On Error Resume Next For Each Ar In ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeFormulas).Areas Ar.Value = Ar.Value Next End Sub
Sub Replace_by_VAL() ' в выбранном диапазоне в не скрытых ячейках заменить формулы на значения On Error Resume Next For Each Ar In ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeFormulas).Areas Ar.Value = Ar.Value Next End Sub
[/vba] [moder]А зачем 2 раза одно и то же? Здесь и в посте №4.[/moder] Сам не знаю обновил страницу и тут такое . Вы уж сильно не серчайте Больше всего что нажимал кнопку назад в браузере - там попал на введенный код и опять его ввел что не есть хорошо. [moder]Да ничего страшного. Я просто думал, что есть какой-то скрытый смысл. Кстати, кнопка "Назад" здесь иногда шалит, лучше не пользоваться.[/moder]
Я вот таким макросом например [vba]
Код
Sub Replace_by_VAL() ' в выбранном диапазоне в не скрытых ячейках заменить формулы на значения On Error Resume Next For Each Ar In ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeFormulas).Areas Ar.Value = Ar.Value Next End Sub
[/vba] [moder]А зачем 2 раза одно и то же? Здесь и в посте №4.[/moder] Сам не знаю обновил страницу и тут такое . Вы уж сильно не серчайте Больше всего что нажимал кнопку назад в браузере - там попал на введенный код и опять его ввел что не есть хорошо. [moder]Да ничего страшного. Я просто думал, что есть какой-то скрытый смысл. Кстати, кнопка "Назад" здесь иногда шалит, лучше не пользоваться.[/moder]dima_dan2012
WM :Z116994103939
Сообщение отредактировал _Boroda_ - Четверг, 17.03.2016, 23:08
признаюсь честно. я дибил) ну, в вба. тыкаю 2 раза на созданную кнопу, вижу
[vba]
Код
Private Sub CommandButton1_Click() End Sub
[/vba]
сразу не шлите, куда, скажем, код
[vba]
Код
Sub zn() Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).PasteSpecial (xlPasteValues) Application.CutCopyMode = False End Sub
[/vba]
воткнуть(
отработка нужна именно по тыканью кнопы. мне не впадлу контрл+а, и спецвставка. но я в отпуск скоро хочу. для пользователей это уже сложно. 45+ возраст [moder]Для оформления используйте теги - макросы кнопкой #, формулы - кнопкой fx. Поправил Вам.
признаюсь честно. я дибил) ну, в вба. тыкаю 2 раза на созданную кнопу, вижу
[vba]
Код
Private Sub CommandButton1_Click() End Sub
[/vba]
сразу не шлите, куда, скажем, код
[vba]
Код
Sub zn() Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).PasteSpecial (xlPasteValues) Application.CutCopyMode = False End Sub
[/vba]
воткнуть(
отработка нужна именно по тыканью кнопы. мне не впадлу контрл+а, и спецвставка. но я в отпуск скоро хочу. для пользователей это уже сложно. 45+ возраст [moder]Для оформления используйте теги - макросы кнопкой #, формулы - кнопкой fx. Поправил Вам.lordua
Сообщение отредактировал _Boroda_ - Четверг, 17.03.2016, 23:05
Вы вставили кнопку АктивХ. А можно вставить кнопку формы или просто автофигуру и правой кнопкой мыши повесить на нее макрос. Если кнопка на другом листе, то нужно еще имя листа. Тогда так примерно [vba]
Код
Private Sub CommandButton1_Click() Application.ScreenUpdating = 0 With Sheets("Лист1") With .Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)) .Copy .PasteSpecial (xlPasteValues) End With End With Application.CutCopyMode = False End Sub
Вы вставили кнопку АктивХ. А можно вставить кнопку формы или просто автофигуру и правой кнопкой мыши повесить на нее макрос. Если кнопка на другом листе, то нужно еще имя листа. Тогда так примерно [vba]
Код
Private Sub CommandButton1_Click() Application.ScreenUpdating = 0 With Sheets("Лист1") With .Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)) .Copy .PasteSpecial (xlPasteValues) End With End With Application.CutCopyMode = False End Sub