Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Копирование правил условного форматирования в EXCEL 2010
 
Добрый день!
Очень интересный и для меня вопрос (использую УФ в общей книге, но иногда пользователям надо вставлять строки).
Все-таки есть решение, что бы при вставке строк диапазон условного форматирования просто расширялся, а не создавались дополнительные правила?
Изменено: kev-nn - 20.05.2014 16:00:30
Копирование значения ячеек при включенном фильтре
 
{quote}{login=KukLP}{date=28.07.2011 07:22}{thema=}{post}Убрать фильтр, скопировать столбец, поставить фильтр.{/post}{/quote}  
Подскажите, пожалуйста, тогда следующие моменты:  
1. Если фильтр не был установлен, то Worksheets("Лист1").ShowAllData ругается.  
Как проверить был ли установлен фильтр до применения ShowAllData?  
2. Можно ли как то запомнить какой фильтр был применен до его снятия и потом восстановить?
Копирование значения ячеек при включенном фильтре
 
В общем, все получилось. Но относительно не быстро работает.  
 
Application.Calculation = xlCalculationManual  
Application.ScreenUpdating = False  
For i = 10 To 1000  
Worksheets("Лист1").Range(Cells(i, 14), Cells(i, 14)).Value = Range(Cells(i, 13), Cells(i, 13)).Value  
Next i  
Application.ScreenUpdating = True  
Application.Calculation = xlCalculationAutomatic  
 
Я не программист, подскажите, может быть можно написать подобный перебор для более быстрой отработки?
Копирование значения ячеек при включенном фильтре
 
{quote}{login=Юрий М}{date=26.07.2011 08:12}{thema=}{post}Нет - неправильно. Я бы циклом скопировал.{/post}{/quote}  
Типа перебором каждой строки?  
Как мне кажется, не особо быстрое будет решение, но завтра попробую.
Копирование значения ячеек при включенном фильтре
 
Подскажите, пожалуйста, можно ли скопировать значение всех ячеек из одной колонки в другую при включенном фильтре?  
Если делать просто:  
Worksheets("Лист1").Columns("M:M").Copy  
Worksheets("Лист1").Columns("N:N").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False  
то получается что строки скрытые фильтром не копируются.  
 
P.S. Делается это все при уходе с листа, т.е. в конструкции:  
Private Sub Worksheet_Deactivate()  
   Application.EnableEvents = False  
   ...  
   Application.EnableEvents = True  
End Sub
Как выполнить действие на листе с которого уходим (Deactivate)?
 
Сам догадался.  
Убрал Worksheets("Календарный план").Calculate
Как выполнить действие на листе с которого уходим (Deactivate)?
 
{quote}{login=Hugo}{date=25.07.2011 11:39}{thema=}{post}Private Sub Worksheet_Deactivate()  
Application.EnableEvents = False  
 
Application.EnableEvents = True  
End Sub{/post}{/quote}  
Спасибо. Именно это мне и нужно было.  
 
Но теперь возникла другая проблема, уже с копированием.  
Все это затеяно ради того что бы скопировать значения расчета пользовательской функции (в столбце M) в столбец N, а эти значения уже использовать на других листах.  
Так вот когда это копирование делается, в колонке с пользовательской функцией все результаты меняются на #ЗНАЧ! и соответственно эти значение и копируются.  
 
Private Sub Worksheet_Deactivate()  
   Application.EnableEvents = False  
   Application.ScreenUpdating = False  
   Worksheets("Календарный план").Calculate  
   Worksheets("Календарный план").Columns("M:M").Copy  
   Worksheets("Календарный план").Columns("N:N").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
   Application.ScreenUpdating = True  
   Application.EnableEvents = True  
End Sub
Как выполнить действие на листе с которого уходим (Deactivate)?
 
Добрый день!  
 
Подскажите, пожалуйста, как выполнить действие на листе с которого уходим?  
Private Sub Worksheet_Deactivate()  
   Worksheets("Лист1").Columns("M:M").Copy (Лист1 это тот с которого уходим)  
End Sub  
Если прописать таким образом, то уходим в бесконечный цикл.  
Типа "Лист1" покинули (сработал Deactivate), потом для выполнения действия на этом листе мы опять его активируем, и все начинается по новой...
Страницы: 1
Наверх