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

Страницы: 1
Стиль диаграммы VBA
 
Доброго времени суток, господа. Возникла необходимость создавать посредством VBA круговые диаграммы с определённым оформлением (см. изображение).К сожалению не смог ничего толком найти по интересующей меня теме. Макрорекордер выдал нечто вроде:

Код
Sub Макрос1()

    Range("J2:M3").Select
    ActiveSheet.Shapes.AddChart2(251, xlPie).Select
    ActiveChart.SetSourceData Source:=Range("Лист1!$J$2:$M$3")
    ActiveSheet.Shapes("Диаграмма 1").ShapeStyle = msoShapeStylePreset25
End Sub
Естественно при попытке воспроизвести макрос- код не работает. Возможно ли вообще через VBA отформатировать подобным образом диаграмму?
Заранее благодарен.
С уважением,
athe.
Формирование .pdf циклом
 
Доброго времени суток уважаемые форумчане. Так получилось что часто необходимо генерировать большое количество файлов в .pdf формате. Сначала я прописал цикл и указал там все листы документа (Лист1, Лист2, Лист3). Всё работало:
Код
Sub PDF_Saveall()
H = Worksheets("draft").Cells(3, 104)
    For i = 0 To H
        Worksheets("Лист1").Cells(10, 40) = Worksheets("draft").Cells(3 + i, 102)
        Filename$ = ThisWorkbook.Path & "\" & Worksheets("draft").Range("A4") & "_" & Worksheets("draft").Range("A3") & ".pdf"
        Sheets(Array("Лист1", "Лист3")).Select
        ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename$
    Next i
End Sub

Со временем стало необходимо генерировать .pdf  с определёнными листами по условию. Попытался выполнить свою задачу следующим образом:
Код
Sub PDF_Saveall()
a = Worksheets("draft").Cells(16, 1) 'Относительно этого значения выбираются листы
H = Worksheets("draft").Cells(33, 44)  'Количество отчётов
    For i = 0 To H
        Worksheets("Лист2").Cells(12, 10) = Worksheets("draft").Cells(35 + i, 44)
        Filename$ = ThisWorkbook.Path & "\" & Worksheets("draft").Range("A4") & "_" & Worksheets("draft").Range("A3") & ".pdf"
            Select Case a
                Case 1
                Sheets(Array("Лист2", "Лист3", "Лист1")).Select
                ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename$
                Case 2
                Sheets(Array("Лист2", "Лист3")).Select
                ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename$
                Case 3
                Sheets(Array("Лист2")).Select
                ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename$
            End Select
    Next i
End Sub
К сожалению после запуска цикл срабатывает несколько раз, после чего ругается на эту строку:
Код
ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename$
Подскажите пожалуйста, какая может быть причина ошибки?
В приложенном файле постарался передать основной смысл.
Заранее благодарен.
С уважением, athe.
После копирования файла кнопка вызова макроса не привязывается к новому файлу
 
Доброго всем времени суток.
Столкнулся с такой штукой. При нажатии на кнопку, исходным файлом генерируется его копия, где данная кнопка должна быть переназначена на другой макрос. Макрорекордер выдал:
Код
...
Selection.OnAction = "Macro_2"
...
Сначала я протестировал и всё показалось нормально, но потом понял что на кнопку подвязывается макрос из исходника, себто прописывается к нему путь и макрос выполняется от имени исходника (чего мне не нужно).
Скорей всего у кого-то был уже подобный случай, подскажите пожалуйста, как прописать правильно?
Спасибо.
С уважением, athe.
Число в колонтитуле (VBA)
 
Доброго времени суток. Предпринимаю попытки создать колонтитул через VBA, таким образом чтобы там отображались данные с первого листа.
Код
ActiveSheet.PageSetup.RightHeader = " &""calibri,bold""&11" & Sheets("Ëèñò1").Range("E5") & Chr(10) & " &""calibri,normal""&11" & " &""calibri,italic""&11" & "Number:" & " &""calibri,bold""&11" & Sheets("Ëèñò1").Range("P5") & Chr(10) & " &""calibri,normal""&11" & " &""calibri,italic""&11" & "Name::" & " &""calibri,bold""&11" & Sheets("Ëèñò1").Range("U9") & " &""calibri,italic""&11" & "t."

К сожалению, в третьей строке колонтитула не отображается число {Sheets("Ëèñò1").Range("U9")}, а сама строка "сползает" куда-то вниз.
Ставил в коде перед третьей строкой vbLf- помогло. Но третья строка в таком случае делится на две. Подскажите пожалуйста, где косяк? Заранее спасибо.
С ув. Athe.
Изменено: athe - 18.08.2015 10:34:25
Страницы: 1
Наверх