Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
vedutenko_s
Contributor III
Contributor III

Макрос.

Здравствуйте, помогите пожалуйста. Пишу макрос, чтобы экспортировал таблицу в excel, не получается написать, чтобы при экспорте, в excel ставился фильтр на поле, и чтобы в этом поле исключить пустые значения. Ниже приведены screen. screen1 сейчас вот так экспортируется, screen2 а надо вот так. Помоги пожалуйста. Заранее спасибо! Ниже скину код макроса.

screen1

screen1.png

screen2

screen2.png

sub exportReportToExcel
Set QvDoc = ActiveDocument
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = true
objExcelApp.DisplayAlerts = false
dim qvObjectId
Set objExcelDoc = objExcelApp.Workbooks.Add


objExcelDoc.Sheets(1).Name="Табличные данные"
objExcelDoc.Sheets(2).Delete
objExcelDoc.Sheets(2).Delete
set objExcelSheet=objExcelDoc.Sheets(1)

objExcelSheet.Select

set objSource = QvDoc.GetSheetObject("CH01")

Call objSource.GetSheet().Activate()
Set objCurrentSheet = objExcelDoc.Sheets("Табличные данные")
Call objSource.CopyTableToClipboard(true)
' Set objCurrentSheet = objExcelDoc.Sheets("Лист с данными")
objCurrentSheet.Range("A2").Select
objExcelDoc.Sheets("Табличные данные").Paste

set objExcelSheet=objExcelDoc.Sheets(1)

objExcelSheet.Select

set objSource = QvDoc.GetSheetObject("CH01")


objExcelDoc.Sheets("Табличные данные").Range("A2:AH2").WrapText = True
objExcelDoc.Sheets("Табличные данные").Range("A2:AH1000").Borders.Color = Black
objExcelDoc.Sheets("Табличные данные").Range("E:F").NumberFormat = "dd/mm"
objExcelDoc.Sheets("Табличные данные").Range("G:K").NumberFormat = "dd/mm h:mm"
objExcelDoc.Sheets("Табличные данные").Range("M:O").NumberFormat = "dd/mm h:mm"
objExcelDoc.Sheets("Табличные данные").Range("T:U").NumberFormat = "dd/mm h:mm"
objExcelDoc.Sheets("Табличные данные").Range("AH:AH").NumberFormat = "#,##0.00 _?"


'objExcelDoc.Sheets("Табличные данные").Range("L:L").AutoFilter Field=12, Criteria1="<>"


end sub

Vedut на форуме Обратить внимание администрации на это сообщение
1 Reply
vedutenko_s
Contributor III
Contributor III
Author

Решил этот вопрос, спасибо.

Вот решение: objExcelDoc.Sheets("Табличные данные").Range("$A$2:$AH$50").AutoFilter 12, "<> ", True