1 2 3 4 5 6 7 8 9 |
Отчет = РабочиеКниги.Open(Каталог+Названиефайла); ОтЛевогоКрая=550; ОтВерха=80; Длина=100; Высота=50; кн = Отчет.Sheets(1).OLEObjects.Add("Forms.CommandButton.1",,,,,,,ОтЛевогоКрая, ОтВерха, Длина,Высота); st = "Private Sub CommandButton1_Click()" + Chr(13) + " ThisWorkbook.Sheets(1).range(""I10:I10000"").AutoFilter Field:=1, Criteria1:="">0"", Operator:=xlAnd" + Chr(13) + "End Sub"; Excel.VBE.ActiveVBProject.VBComponents.Add (1); Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.I_nsertLines (1,st); |
в переменную st записываем нужный нам макрос. У меня в процедуре он выводиться в одной строке, но можно сделать чтобы он выводился построчно
1 2 |
Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.I_nsertLines (1,st1); Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.I_nsertLines (2,st2); |
в этом макросе делается фильтр по колонке > 0