Страницы: 1
RSS
Как запретить удалять форматирование ячеек при вставке данных из другой книги?
 
Здравствуйте гуру excel. Коллег не могу научить вставлять в ячейки с форматированием только значения. Через раскладку на клавиатуре вставлять номера не вариант, так как бабушки учиться не хотят, а исправлять за них косяки уже надоело. Как можно в столбике с номерами сделать вставку только значений или вообще на всем листе? Защита листа не помогает, все равно при вставке удаляют форматирование(((  
 
Держите.
И посмотрите здесь:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=91808&amp...
 
Без макросов никак. А с макросами, так бабушки всё равно их не включат.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Можно вынести на панель стандартную кнопку для вставки только значений, и заставить бабок нажимать её вместо Ctrl+V когда оно нужно.
 
Цитата
так бабушки всё равно их не включат
Можно почитать здесь:
http://www.excel-vba.ru/chto-umeet-excel/kak-zapustit-fajl-s-vklyuchennymi-makrosami/
 
Цитата
mamalot написал:
Держите.
Угу. Там же:
Цитата
kuklp написал:
Поможет, кроме случая вставки Энтером:
Вообще хлопотное это дело. Проще пойти по проторенному пути Родиона Раскольникова©, а потом вместо бабок нанять обучаемых молодых ;)
Я сам - дурнее всякого примера! ...
 
Цитата
по проторенному пути Родиона Раскольникова©
:D Поддеррживаю.
 
Меня бабушки побьют за эти макросы  :D  
 
mamalot, я очень вам признателен за помощь, вы меня прям выручили)
 
...и опыт сын ошибок трудных...
Если Вы переходили по ссылке в #2 то могли видеть что в этом вопросе мне тоже помогли когда-то.
 
mamalot, есть еще один вопрос? После вставки данного макроса в книгу не могу в автофильтре копировать только видимые ячейки, копируется весь массив даных между фильтруемыми ячейками. Что нужно дополнить в макрос или убрать?
 
В Вашем файле-примере всё работает нормально (см. лист 2.3).
 
mamalot, И все же проблема не решена.В моём примере видно что мне нужно скопировать отфильтрованный диапазон по цвету из листа 1 в лист 2. Но как видно в примере на лист 2 скопировались и промежуточные данные, которых не видно. Мне же нужно чтобы вставлялся видимый диапазон. Вот поэтому и спрашивал что в макросе можно что то подредактировать или убрать чтобы решить данную проблему
 
Выделяем строки. Вставляем.

Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]
Изменено: mamalot - 22.09.2017 10:51:09
 
Даже с отключенными макросами вставляются только отфильтрованные строки (лист3).
Как у Вас так получается - Я не знаю.

Кстати, обращаясь только ко мне, Вы отбиваете желание у других помогать Вам.
Изменено: mamalot - 22.09.2017 08:22:04
 
mamalot, спс за помощь, ведь только вы одни дали мне правильную подсказку. На счет вставки сам не пойму почему так происходит с данным макросом. Буду дальше чесать репу и решать данную проблему  :sceptic:
P.S.: Без этого макроса такой проблемы нет
Изменено: timrei - 22.09.2017 09:17:22
 
Может кто подскажет, что в этом макросе может отключать копирование и вставку только видимых значений. А то уже все испробовал, а правды так и не добился (
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Application.CutCopyMode Then
        Application.EnableEvents = 0
        Application.Undo: Target.PasteSpecial xlPasteValues
        Application.EnableEvents = -1
    End If
End Sub
Изменено: timrei - 22.09.2017 10:51:48
 
Цитата
timrei написал:
что в этом макросе может отключать копирование
-ничего. Никакого отношения к копированию этот макрос не имеет. Он работает с тем, что Вы уже скопировали и вставили. Хотите, чтоб копировались только видимые - выделяйте при копировании только видимые. F5 - выделить - только видимые.
Я сам - дурнее всякого примера! ...
 
kuklp, увы, не работает. Вот теперь думаю почему без этого макроса все нормально копируется, а с ним нет?(
 
Интересная особенность, когда сбрасываю автофильтр в исходное положение выделены лишь те ячейки которые я скопировал при фильтрации и все вставляется как надо. Теперь остается заставить своих коллег делать так же, а то потом замучают звонками. Хотя этот способ не то что хотел получить (
 
У меня кстати, тоже вставляются только видимые. Эх2010. Можно еще добавить в модуль книги:
Код
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then
        Selection.SpecialCells(12).Select
    End If
End Sub
Изменено: kuklp - 22.09.2017 11:36:34
Я сам - дурнее всякого примера! ...
 
kuklp,макрос помог, но с ним жёстко стал excel тормозить и зависать :D  
 
Так отключайте события вначале макроса, потом включайте в конце.
Я сам - дурнее всякого примера! ...
 
kuklp, а это как? А то я в макросах не силен(
 
Цитата
timrei написал:
А то я в макросах не силен
Тогда с самого начала надо было СЮДА. А здесь помогают освоить Эксель.
Я сам - дурнее всякого примера! ...
 
kuklp, ладно, и на этом спс)
 
Можно так.
Код
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    Application.DisplayStatusBar = False
    Application.DisplayAlerts = False
    
    On Error Resume Next
    If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then
        Selection.SpecialCells(12).Select
    End If
    
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.DisplayStatusBar = True
    Application.DisplayAlerts = True
    Application.Calculation = xlAutomatic
End Sub
Страницы: 1
Наверх