簡體   English   中英

Excel打印區域

[英]Excel Print Area

我希望能夠在橫向模式下打印A:H列中的所有內容,並且我想知道是否有人知道如何執行此操作,以便每次打開此特定文檔並嘗試打印時,它將自動在這些特定的設置。 另外,我只想在實際有文字的地方打印,而避免打印空白(我在所有單元格A1:H50中填充了方程式,但實際上我現在只在右側填充了數字(但這會隨着時間而變化) A1:H30,即A31:H50都已用空格字符“”填充)

此外,我文檔的第一行有標題,我希望在我打印出的每一頁上都顯示這些標題。 (即股票名稱,股票價格,一年前的股票價格標題,然后這些列中包含30只股票)。 我希望這樣,如果我有4頁(可變)的信息最終被打印出來,則股票名稱和價格的第一行始終會打印在每頁的頂部。

非常感謝!

好的,您要問幾個不同的問題,其中一些問題比其他問題更容易回答。

首先,您希望設置一個特定區域(A1:H50),以便每次有人打印頁面時都要打印,並且希望以橫向打印。 這很簡單-轉到頁面布局功能區,選擇區域A1:H50,然后單擊打印區域->設置打印區域。 然后,在其旁邊,單擊方向->橫向。

關於設置標題的第三個問題也很簡單。 再次轉到頁面布局功能區,然后單擊打印圖塊。 您可以單擊“工作表”選項卡並告訴它在頂部重復一些行,也可以單擊“頁眉/頁腳”並手動手動鍵入頁眉。

您的第二個問題沒有簡單的自動化方法(據我所知。要么接受這樣的事實,即打印輸出中將包含空格(無論如何都可以,因為您可能希望無論如何都以相同的間距隔開每一頁)填充多少行),或手動“隱藏”空白行。

這里可以使用VBA自動化解決方案,但我不建議您使用自動化解決方案,因為您對手動完成如此瑣碎的事情不了解。

請注意,此問題並不真正適合此站點。 這是一個更適合於superuser.com的問題,superuser.com與stackoverflow.com是同一組網站的一部分,但主要針對軟件的非編程問題-特別是Excel。

每次用戶嘗試打印時,都可以使用BeforePrint事件將打印區域重置為您的規格。 無論用戶嘗試選擇什么設置,它都會被您在事件代碼中指定的設置覆蓋。 嘗試將以下代碼放入ThisWorkbook模塊中:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Application.PrintCommunication = False
    With ThisWorkbook.Sheets("Sheet 1")
        .AutoFilterMode = False
        .Range("$A:$H").AutoFilter Field:=1, Criteria1:="<>", Operator:=xlFilterValues  'if column A (Field:=1) is blank then hide those rows before setting print range
        With .PageSetup
            .Orientation = xlLandscape
            .PrintArea = "$A:$H"
            .PrintTitleRows = "$1:$1" 'change to whichever row numbers you want to print on every page
        End With
    End With
    Application.PrintCommunication = True
End Sub

這樣做的潛在好處/缺點是,它不允許用戶以您指定的格式以外的任何格式進行打印。 如果您不希望限制用戶以不同格式進行打印的能力,則可以在非事件Sub使用相同的代碼,並讓用戶在需要使用這些設置進行打印時運行該宏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM