Страницы: 1
RSS
Очистка заданных ячеек
 
Здравствуйте! Подскажите пожалуйста как можно организовать очистку ячеек в таблице. Столкнулся с трудностью: сводная ведомость зарплат 18 таблиц. Как сделать так чтобы быстро очистить заданные ячейки, вручную очень долго.
CAHEK
 
1) Запишите макрорекордером.  
2) Создайте шаблон и им пользуйтесь.
Я сам - дурнее всякого примера! ...
 
sub clear()  
range("g8:m33").cells.clearcontents  
range("g41:m67").cells.clearcontents  
end sub
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
{quote}{login=KukLP}{date=02.03.2012 09:08}{thema=}{post}1) Запишите макрорекордером.  
2) Создайте шаблон и им пользуйтесь.{/post}{/quote}  
 
+1, спасает, уже уйму раз использовал, кучерявую штучку придумали мелкомягкие))
 
Спасибо за помощь. Но объясните пожалуйста поподробней как это сделать. Я еще только учусь
CAHEK
 
CAHEK, тогда Вам есть смысл записаться на курсы по информатике для начинающих. Никому не интересно перссонально Вас обучать работе на компе онлайн.  
Так же во всех офисных приложениях работает клавиша F1. Так же существуе поиск по форуму и в интернете. Я вот набрал в поисковике "Создать шаблон в эксель" - он мне выдал: "Результатов: примерно 198 000 000 (0,24 сек.)". Удачи.
Я сам - дурнее всякого примера! ...
 
http://www.planetaexcel.ru/forum.php?thread_id=8763
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
СПС дорогие зубры. Один вопрос вы сразу родились такими умными? Если я занимаюсь Excel только время от времени, зачем он мне углубленно
 
Если вы едите не чаще 3 раз в сутки, зачем вам продукты?
 
Спасибо всем за помощь. Особенно LightZ. Во всем разобрался.
CAHEK
 
А может алекс = САНЕК ???
 
Похоже. Уровень умственного развития, культура. Вообще-то по ссылке я имел ввиду ответ на вопрос "Один вопрос вы сразу родились такими умными?". Но как выяснилось и остальное впору пришлось:-)
Я сам - дурнее всякого примера! ...
 
Народ хватит прикалываться. помогите пожалуйста макрос написать. изменение месяца на предыдущий и запись его прописью.  
у меня выдает ошибку  
 
Sub Остатки()  
 
   Range("U13:U43").Select  
   Selection.Copy  
   Range("E13:E43").Select  
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
                   
        Dim mesyc As Date  
   Set oRange1 = Worksheets("Лист1").Range("A1")  
   Set oRange2 = oRange1.Range("AD6")  
   mesyc = Now  
   mesyc=DateAdd("m", -1, "mesyc")  
   oRange2.Value = mesyc  
End Sub  
   в последней строчке ошибка,не работает функция
CAHEK
 
Ошибку исправил. А как сделать чтобы был только месяц и прописью  
 
Sub Остатки()  
   Range("U13:U43").Select  
   Selection.Copy  
   Range("E13:E43").Select  
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
               
        Dim mesyc As Variant          
   Set oRange1 = Worksheets("Лист1").Range("A1")  
   Set oRange2 = oRange1.Range("AD7")  
   mesyc = Now  
     mesyc = DateAdd("m", -1, mesyc)  
     oRange2.Value = mesyc          
                 
End Sub  
 
Помогите плиз, А то очень уж со скрипом идет.  
 
ПРиношу свои извинения за несдержанность. Молодой горячий.
CAHEK
 
Ну как? Простим?
 
Я уже "ученый". Буду держать язык при себе, когда старшие говорят.
CAHEK
 
Саму функцию по изменению номера месяца на название я нашел. но как ее увязать с макросом не понимаю. ((((  
 
Function dhMonthName(intMonth As Integer) As String  
   dhMonthName = Choose(intMonth, "Январь", "Февраль", "Март", _  
   "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", _  
   "Октябрь", "Ноябрь", "Декабрь")  
   End Function  
 
Ау. Я ж извинился. помогите плиз.
CAHEK
 
Андрей, да кто как хочет.  
CAHEK, я бы на Вашем месте еще и модератора поблагодарил, за чистку темы. Иначе, видя Ваши высказывания, вряд ли хоть кто-нибудь стал бы помогать Вам.
Я сам - дурнее всякого примера! ...
 
CAHEK, используйте функцию Format(Date, "MMMM")  
Sub tt()  
[a1] = Format(Date, "MMMM")
End Sub  
Подставляете вместо Date Вашу дату, и будет название месяца прописью. Но этот вариант не очень если у Вас несколько локалей офиса.
 
Спасибо за помощь. А как сделать чтобы месяц был по русски.  
 
        Dim mesyc As Variant  
        Dim a1 As Variant  
           
   Set oRange1 = Worksheets("Лист1").Range("A1")  
   Set oRange2 = oRange1.Range("AD7")  
   mesyc = Now  
     mesyc = DateAdd("m", -1, mesyc)  
     a1 = Format(mesyc, "MMMM")  
       
     oRange2.Value = a1  
 
 
Спасибо модератору за удаление дурных мыслей
CAHEK
 
Спасибо за помощь. Благодаря вам я второй день сижу над книжкой по VBA. Остался один вопрос в начале макроса происходит выделение ячеек  
 
   Range("U13:U43").Select  
   Selection.Copy  
 
Как сделать чтобы снять это выделение.  
 
А вот что у меня получилось благодаря Миронову и чуть-чуть мне.  
 
Sub Остатки()  
   Range("U13:U43").Select  
   Selection.Copy  
   Range("E13:E43").Select  
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False        
           
        Dim mesyc As Variant  
        Dim a1 As Date  
        Dim a2 As Integer  
        Dim a3 As String  
     
   Set oRange1 = Worksheets("Лист1").Range("A1")  
   Set oRange2 = oRange1.Range("AD7")  
   a1 = Date  
   mesyc = DateAdd("m", -2, a1)  
   a2 = DatePart("m", mesyc)  
   a3 = dhMonthName(a2)  
      oRange2.Value = a3  
             
End Sub  
     
   Function dhMonthName(a2 As Integer) As String  
   dhMonthName = Choose(a2, "Январь", "Февраль", "Март", _  
   "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", _  
   "Октябрь", "Ноябрь", "Декабрь")  
   End Function  
 
 
Помогите пожалуйста на последок. sahek_by@mail.ru
CAHEK
 
Замените Ваш код на  
Range("U13:U43").Copy  
Range("E13").PasteSpecial Paste:=xlPasteValues
 
Я заменил код на ваш, но поле U13:U43 после выполнения макроса выделено бегущей линией,а E13 выделенно темным.    
Спасибо что откликнулись.    
Подскажите, если знаете, как задать условие чтобы копировались только ячейки со значением неравным 0.
CAHEK
 
В конце кода поставьте  
Application.CutCopyMode = False  
И пользуйтесь макрорекордером:)
 
Спасибо. Я и пользуюсь макрорекодером. Только как-то коряво получается.  
Помогите пожалуйстас еще одной задачкой.  
я вывел название месяца через переменную a3 т.е появился месяц февраль,а как задать чтобы получилось "за февраль 2012г" в столбце АД7, где a3=февраль и a4=год
CAHEK
 
Не нашёл, где у Вас данные за месяц и год - поэтому так:  
 
="за "& dhMonthName(2) & " 2012"  
 
Вместо 2 указывйте ссылку на ячейку (например dhMonthName(AG5)), вместо года цифрами тоже можно функцию воткнуть.  
Ну и название месяца думаю есть смысл в UDF писать с маленькой буквы, а если на листе нужна большая, то это можно сделать стандартной функцией листа (или сделать два похожих, но разных варианта UDF, например dhMonthName() и DhMonthName()).
 
>> два похожих, но разных варианта UDF, например dhMonthName() и DhMonthName()  
:-) Игорь, а ты сам пробовал создать две UDF с такими именами?
Я сам - дурнее всякого примера! ...
 
Нет :)  
Не подумал, лоханулся... :) Но не суть... Идея не изменилась :)
 
Спасибо, с этим вопросом разобрался. А как задать в нижеприведенных строках    
 
   Range("U13:U43").Copy  
   Range("E13").PasteSpecial Paste:=xlPasteValues  
 
условие, чтобы копировались ячейки из U13:U43 неравные нулю в соответствующие ячейки Е13:Е43?
CAHEK
 
Ну вот и все, в принципе, то что я хотел от макроса получилось.  
Выражаю благодарность всем кто мне ПОМОГАЛ. С помощью Вас и интернета при нулевом знании VBA я добился требуемого результата.  
 
Удачи вам на жизненных просторах.  
   
P.S. Пожалуйста будьте терпимыми к новичкам. То что для вас пустяк, для кого-то непосильная задача.  
                        bye-bye.  
                                                Саша Гродно Белоруссия
CAHEK
Страницы: 1
Читают тему
Наверх