Хорошо, у меня есть код, который по сути должен собрать документы .csv вместе в одну рабочую книгу и отредактировать несколько мелких вещей.У меня есть код, который прекрасно работает, создав рабочую книгу, перетасовывая файлы из «промежуточной папки», а затем автоматически подбирая / скрывая некоторые столбцы / делая строку 1 жирным.Это работает как брелок, если доступны все 8 потенциальных файлов.Однако .csv, которые мы получаем, являются выходными данными программы Python и могут варьироваться от 1 до 8 файлов.Каждый из 8 файлов будет иметь свое собственное уникальное имя, которое будет оставаться постоянным при каждом выводе.Например: Geometry Errors ВСЕГДА будет давать вывод с именем Geometry Errors.Вывод всегда будет иметь некоторую комбинацию из 8 файлов в зависимости от найденных ошибок.
Проблема в том, что если у меня нет всех 8 файлов, что чаще всего, то код VBA не 'не работает правильно.Что он делает, это смотрит в промежуточную папку с именем «DVIEW Staging», и если он не находит файл, у меня есть строка «On Error Resume Next».См. Ниже:
Application.DisplayAlerts = False
Set newbook = Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Aname & "DVIEW Outputs.xlsx"
Environ ("USERPROFILE") + "\DVIEW Staging"
On Error Resume Next
Workbooks.Open Filename:= _
Environ("USERPROFILE") & "\Desktop\DVIEW Staging\Geometry_Errors_Table.csv"
On Error Resume Next
Sheets("Geometry_Errors_Table").Move After:=Workbooks("DVIEW Outputs.xlsx").Sheets(1)
Columns("A:Z").EntireColumn.AutoFit
Range("A:A,B:B,C:C,I:I,J:J,K:K,L:L").Select
Selection.EntireColumn.Hidden = True
Rows("1:1").Select
Selection.Font.Bold = True
Range("D1").Select
On Error Resume Next
Workbooks.Open Filename:= _
Environ("USERPROFILE") & "\Desktop\DVIEW Staging\Fiber_and_Splice_Relationship_Errors.csv"
On Error Resume Next
Sheets("Fiber_and_Splice_Relationship_E").Move After:=Workbooks("DVIEW Outputs.xlsx").Sheets(1)
Columns("A:Z").EntireColumn.AutoFit
Range("A:A,C:C").Select
Selection.EntireColumn.Hidden = True
Rows("1:1").Select
Selection.Font.Bold = True
Range("B1").Select
On Error Resume Next
Поэтому, когда он не может его найти, он вместо этого запускает все команды скрытия и автозаполнения на листе CURRENT (те, которые он фактически нашел).Это означает, что если 1 лист находится в выходной папке, он может потенциально запустить autofit / hide / bold 7 раз
У меня вопрос, как заставить его заблокировать часть кода и пропуститьэто если он не может найти документ? Я хочу, чтобы блок кода, находящийся под поиском файлов, выполнялся для файла THAT или не запускался вообще.Другими словами, я не хочу, чтобы блок кода Geometry Errors скрывал 7 столбцов на листе Fiber_and_Splice_Relationship_Errors, а затем после этого запускал команды Fiber_and_Splice_Relationship_Errors (поскольку я хотел, чтобы только 2 столбца были скрыты для этого)
Мне жаль, что это так долго, я не знаю, как сделать это кратким, не объяснив всего, что он пытается сделать.