Страницы: 1
RSS
Форматировать прайс с помощью записи макроса, Пытаюсь отформатировать прайс с помощью записи макроса
 
Доброго дня всем уважаемые знатоки Excel ! Чтобы каждый раз не обрабатывать отчёт прайс-лист из 1с. решил записать макрос и с помощью него обрабатывать.
Столкнулся с тем, что при "выполнить" макрос делает не то что я записывал, например необходимо из исходного файла удалить лишние столбцы, строки добавить оформление. Пример в приложенных файлах. Делаю пошагово, смотрю что получается, но пока не выходит.
первый код который у меня записался выглядит так:
Код
Sub Макрос1()
    Columns("B:E").Select
    Range("B2").Activate
    Selection.Delete Shift:=xlToLeft
    Columns("A:A").EntireColumn.AutoFit
    Rows("1:6").Select
    Selection.Delete Shift:=xlUp
    Columns("G:M").Select
    Range("G2").Activate
    Selection.Delete Shift:=xlToLeft
End Sub 

но удаляется артикул и сохраняет не то что надо.
 
У Вас объединены ячейки, и поэтому Columns("B:E").Select выделяет столбец А, который потом Вы удаляете
Изменено: Ник Никитич - 07.03.2017 12:19:34
 
Точно, спасибо. сам бы долго искал, но думаю вопросов возникнет ещё много.
 
Всё получилось ! только возник вопрос: прайс выгружается всегда разный (с разным количеством строк) соответственно диапазон ячеек всегда разный. Есть ли возможность чтобы форматирование подставлялось только там где слева есть значения ? Вот такая запись получилась у меня : не знаю как помещать на форум текст макроса (слишком громоздко) в текстовом файле вложил. Заранее спасибо.
 
ActiveWindow.ScrollRow - эти строчки можете смело удалять, это скролл что вы делали
Вы лучше покажите прайс, и что хотите получить
 
Пытался вставить, пишет слишком большой объём могу прикрепить урезаный вариант.
 
Вот так надо?
 
Ник Никитич, Ничего себе! да только в моём случае колонка цена умножается на 60, не думал что можно таким коротким кодом 8-0 Здорово. Спасибо
 
После     If Len(Cells(i, 1)) > 1 Then добавьте строку        Cells(i, 4).Value = Cells(i, 4) * 60
 
Ник Никитич, Спасибо огромное, блин я же пробовал вставлять диапазон столбцов Range("B:E, G:M, P:T").Delete , что-то у меня не срабатывало  :sceptic:, и ещё заметил что если у товара нет артикула он становится заголовком. Ещё раз огромное спасибо я Ваш должник.  
 
Цитата
huchos написал:
если у товара нет артикула он становится заголовком
Так у вас примере было, поэтому я так это и прописал
 
Ник Никитич, это мой косяк, просто проставлю везде артикулы и вопрос решён. А вообще по белому завидую людям которые способны писать код
Страницы: 1
Наверх