Я пытаюсь записать Macro для печати выбранных ячеек, а затем вернуть лист в исходный формат. Я прячу столбцы с B по H, печатая A7:I68 . Во время записи макроса отпечаток получается правильным. После сохранения он печатает только столбец A7:A68, не включает столбец I.

ActiveSheet.Unprotect
Columns("B:H").Select
Selection.EntireColumn.Hidden = True
Range("A7:I68").Select
ActiveSheet.PageSetup.PrintArea = "$A$7:$I$68"
Selection.PrintOut Copies:=1, Collate:=True
Columns("A:I").Select
Selection.EntireColumn.Hidden = False
ActiveWindow.SmallScroll Down:=-72
Range("A10").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False

Какие-либо предложения?

1 ответ1

0

Тина Я хотел бы предложить код VBA для печати не одного, а множественного выбора, это скопирует диапазон для печати там, вставит лист, покажет Предварительный просмотр, Печать и, наконец, удалит этот лист.

Sub Print_MultiSelection()

Dim rng As Range, ws As Worksheet, rngArea As Range

Set rng = Selection

Set ws = Worksheets.Add(After:=Sheets(Sheets.Count))

For Each rngArea In rng.Areas rngArea.Copy Destination:=ws.Range(rngArea.Address)

ws.Range(rngArea.Address).Value = rngArea.Value

Next 

rngArea ws.PrintPreview

ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:= False

Application.DisplayAlerts = False

ws.Delete Application.DisplayAlerts = True

rng.Parent.Activate

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .