Есть много людей, которые задавали и отвечали на аналогичные вопросы, но ни одно из предложений не работает для меня.У меня есть лист, где данные заканчиваются в столбце «S».Однако, когда я иду, чтобы напечатать это, предварительный просмотр показывает дополнительные 8 столбцов справа.Когда я применяю фильтр, эти же столбцы также добавляют фильтр, даже если они пусты (я проверил, были ли ячейки пустыми с помощью = ISBLANK (), и он вернул значение true).Если я выделю и удалю 8 столбцов, в предварительном просмотре печати не будет никакой разницы, однако фильтр удалится.
Я думаю, что только что выяснил, почему это происходит, но я все еще не знаю, как это исправить.Данные в листе, который вызывает проблемы, копируются из другой рабочей книги.Исходные данные содержат дополнительные 8 столбцов.Но я запускаю макрос, который форматирует все и удаляет эти столбцы, так как они либо пустые, либо ненужные.
Так что я думаю, по какой-то причине, когда я удаляю 8 столбцов, добавляются 8 столбцов с правой стороны листа?
Кто-нибудь знает, как я могу это исправить?Или что я должен изменить, чтобы остановить это.
Вот фрагмент одного из макросов.Это единственный фрагмент кода, который удаляет любые столбцы.
Range("C:C").Select
Selection.Delete Shift:=xlToLeft
Range("G:G").Select
Selection.Delete Shift:=xlToLeft
Range("H:H").Select
Selection.Delete Shift:=xlToLeft
Range("K:L").Select
Selection.Delete Shift:=xlToLeft
Range("L:M").Select
Selection.Delete Shift:=xlToLeft
Range("O:O").Select
Selection.Delete Shift:=xlToLeft
Range("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").Select
ActiveCell.FormulaR1C1 = "Crew"
Range("A1").Select
ActiveCell.FormulaR1C1 = "Yes/ No"
Range("G1").Select
ActiveCell.FormulaR1C1 = "RPC"
Range("H1").Select
ActiveCell.FormulaR1C1 = "SCE"
Range("M1").Select
ActiveCell.FormulaR1C1 = "Craft"
Range("O1").Select
ActiveCell.FormulaR1C1 = "Frequency"
Range("P1").Select
ActiveCell.FormulaR1C1 = "Unit"
Range("S1").Select
ActiveCell.FormulaR1C1 = "Duration"