Я создал макрос, который пересекает список стран, и этот обновленный номер на «Dash_eng». Я могу получить цикл, чтобы работать, но часть цикла вызывает другой макрос, который копирует и сохраняет «Dash_Eng») в качестве файла ExcelСохранение файла excel в цикле VBA
Оба макроса работы, когда работают независимо друг от друга его просто положить их вместе
Macro который петлями, хотя в стране и вызывает сохранение в Excel макрос
Sub ReportUpdate()
Dim i As Integer, numrows As Integer
Sheets("Text").Select
numrows = Range("O2", Range("O2").End(xlDown)).Rows.Count
Range("O1").Select
i = 1
Do While i <= numrows
ActiveCell.Offset(rowOffset:=1, columnoffset:=4) = "X"
ActiveCell.Offset(1, 0).Select
Range("M1") = ActiveCell
Call Send_to_PDF
i = i + 1
Loop
MsgBox "Dear Sir/Madam your base data has been refreshed and all other relivant formatting macros have been run"
End Sub
Сохранение макроса
Sub Send_to_PDF()
Dim Ref As String
Dim St As String
Dim En As String
Dim Ex_Ref As String
FilePath = "P:\Hyundai\Hyundai GLOBAL\Country folders\EUROPE\A3 Ops reports"
Sheets("Dashboard - ENG").Select
Sheets("Dashboard - ENG").Copy
Cells.Select
Range("C1").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Ex_Ref = Sheets("Dashboard - Eng").Range("L1")
St = FilePath + "\Dashboard - ENG"
Ref = Format(DateAdd("m", -1, Now()), "yyyymm")
En = ".xlsx"
ChDir FilePath
ActiveWorkbook.SaveAs Filename:=St & " " & " " & Ex_Ref & " " & Ref & En
ActiveWorkbook.Theme.ThemeColorScheme.Load (_
"C:\Program Files (x86)\Microsoft Office\Document Themes 15\Theme Colors\Office 2007 - 2010.xml" _
)
ActiveWindow.Close
PS: Я знаю его не отправить его в PDF
Любые идеи?
избегать '.Select',' .ActiveWorkbook' и '.Activate' любой ценой! Рефакторируйте весь свой код, чтобы квалифицировать все рабочие книги, листы и диапазоны (ячейки) для переменных и работать непосредственно с ними внутри блоков «With End», и вы, вероятно, исправите свою проблему или сможете лучше понять, почему ее не работают. И теперь, когда я прочитал это больше, измените 'ActiveWorkbook.SaveAs' на' ActiveSheet.ExportAsFixedFormat' (и поставьте необходимые аргументы) –
Извините, если я вызвал какую-либо путаницу, которую этот лист ИСПОЛЬЗУЕТСЯ для экспорта в формате PDF, но СЕЙЧАС НЕОБХОДИМО, чтобы быть сохраненным как лист excel, который вызывает у меня вопрос –
, вы реорганизовали код, как я предложил? Я уверен, что это поможет решить проблему. Использование ActiveSheet и ActiveWorkbook и переключение между ними так много может вызвать массу неожиданных проблем? –