Проблема в том, что вы используете ActiveWorkbook
, это книга, которая имеет фокус и находится сверху. Это может легко измениться при любом взаимодействии (например, пользовательский щелчок). Избегайте любых отчетов, которые включают Active
любой ценой (если вы не знаете, что делаете и зачем вам это нужно). Лишь в очень редких случаях они вам нужны.
Вместо этого определите переменную для рабочей книги и задайте для оператора open эту переменную, чтобы использовать ее позже и избегать ActiveWorkbook
Sub SaveAsXLSX()
' SaveAsXLSX Shortcut: Ctrl+Shift+W
ChDir "T:\Temp" '<-- this is not needed
Dim Wb As Workbook
Set Wb = Workbooks.Open(Filename:="T:\Temp\File1.csv")
Wb.SaveAs Filename:="T:\Temp\File1.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Wb.Close
Set Wb = Workbooks.Open(Filename:="T:\Temp\File2.csv")
Wb.SaveAs Filename:="T:\Temp\File2.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Wb.Close
End Sub
Возможно, вам будет полезно прочитать Как избежать использования Select в Excel VBA , который объясняет эту технику более подробно.