如何零基礎學習VBA—HorizontalPageBreak和HorizontalResizeMode

2023年06月29日21:52:03 科技 1446

HorizontalPageBreak

VBA中用於表示Excel工作表中的水平分頁符。水平分頁符用於在打印時將工作表內容劃分為多個頁面。通過使用HorizontalPageBreak對象,可以對工作表進行動態地分頁設置和管理。

HorizontalPageBreak對象具有以下一些常用的屬性和方法:

  • Location:表示分頁符所在的行號。
  • DragOff(Direction, RegionIndex):將分頁符拖動到其他位置。Direction參數指定向上或向下拖動分頁符,RegionIndex參數指定拖動的範圍索引。
  • Delete:刪除分頁符。

通過使用HorizontalPageBreaks對象,可以訪問和管理工作表中的所有水平分頁符。例如,可以通過以下方式添加一個水平分頁符:

Worksheets("Sheet1").HorizontalPageBreaks.Add Before:=Worksheets("Sheet1").Range("A10")

此代碼將在單元格A10之前添加一個水平分頁符。

1、Location屬性:表示分頁符所在的行號。

Sub GetHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    For Each hpb In ws.HPageBreaks
        MsgBox "分頁符位置: " & hpb.Location
    Next hpb
End Sub

這個示例代碼會遍歷名為"Sheet1"的工作表上的所有水平分頁符,並通過消息框顯示每個分頁符的行號。

2、DragOff方法:將分頁符拖動到其他位置。

Sub DragHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '將第一個水平分頁符向下拖動5行
    Set hpb = ws.HPageBreaks(1)
    hpb.DragOff Direction:=xlDown, RegionIndex:=5
End Sub

這個示例代碼將會將名為"Sheet1"的工作表上的第一個水平分頁符向下拖動5行,即將該分頁符從原來的位置移動到當前位置的下方第5行。

3、Delete方法:刪除分頁符。

Sub DeleteHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '刪除第一個水平分頁符
    Set hpb = ws.HPageBreaks(1)
    hpb.Delete
End Sub

這個示例代碼會刪除名為"Sheet1"的工作表上的第一個水平分頁符。

HorizontalResizeMode

是Excel VBA中的一個枚舉類型,用於指定水平調整大小模式。它可以用於調整水平方向上的圖表、形狀和對象的大小。

HorizontalResizeMode枚舉類型具有以下幾個常量:

  • Both:同時調整對象的左邊界和右邊界以進行水平調整大小。
  • Center:僅調整對象的左右邊界的位置,而不改變其大小。
  • Left:僅調整對象的左邊界的位置,而不改變其大小。
  • None:不進行水平調整大小。
  • Right:僅調整對象的右邊界的位置,而不改變其大小。

使用HorizontalResizeMode枚舉類型,可以在對圖表、形狀和對象進行水平調整大小時,根據具體需求選擇合適的模式。例如,可以將Left屬性設置為HorizontalResizeMode.Right來使對象的左邊界保持固定,只調整該對象的右邊界位置。

當需要對圖表、形狀和對象進行水平調整大小時,可以使用HorizontalResizeMode枚舉類型中的常量來指定調整方式。以下是根據前面提到的5個常量進行的代碼示例:

1、調整對象的左邊界和右邊界以進行水平調整大小:

Sub ResizeBoth()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.LockAspectRatio = False
    obj.Resize shapeRange.Width * 2, shapeRange.Height '將shapeRange替換為實際的形狀或對象包含的範圍
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Both
End Sub

2、僅調整對象的左右邊界的位置,而不改變其大小:

Sub ResizeCenter()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Center
End Sub

3、僅調整對象的左邊界的位置,而不改變其大小:

Sub ResizeLeft()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Left
End Sub

4、不進行水平調整大小:

Sub NoResize()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.None
End Sub

5、僅調整對象的右邊界的位置,而不改變其大小:

Sub ResizeRight()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '將Rectangle1替換為實際的形狀或對象名稱
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Right
End Sub

注意:上述示例中的"Sheet1"和"Rectangle1"分別表示要操作的工作表和形狀或對象的名稱,你需要根據實際情況進行修改。另外,代碼示例中針對形狀和對象的處理方式略有差異,具體取決於你的需求和使用的對象類型。

如何零基礎學習VBA—HorizontalPageBreak和HorizontalResizeMode - 天天要聞

科技分類資訊推薦

讓藝術與技術雙向奔赴 - 天天要聞

讓藝術與技術雙向奔赴

【藝點·聚焦美院畢業季】作者:陳抱陽(中央美術學院實驗藝術與科技藝術學院教師)一年一度的美院畢業季如約而至,漫步在展館之中,似乎感受到一股蓬勃的“新技術風潮”:AI圖像生成,機械臂動作設計,融合傳感器與機器人系統的互動裝置……這些作品不僅橫
WWDC 2025前瞻:從iOS 19到AI和iPad功能再突破,共有5大看點 - 天天要聞

WWDC 2025前瞻:從iOS 19到AI和iPad功能再突破,共有5大看點

蘋果WWDC 2025馬上就要登場了,每年這個時候,果粉們最關心的無非兩個問題:蘋果又整了什麼新活兒?這次的升級,值得我們買單嗎?我今天提前幫大家把外媒最新爆料梳理了一遍,說實話,這次的變化不只是一次系統迭代,而像是一場徹底的“蘋果生態洗牌
小米汽車回應YU7門把手是否會凍住:可通過敲擊等方式破冰 - 天天要聞

小米汽車回應YU7門把手是否會凍住:可通過敲擊等方式破冰

站長之家(ChinaZ.com)5月24日 消息:近日,小米汽車官微開啟新一期網友問答互動,針對網友提出的“小米YU7的門把手冬天是否會被凍住”這一疑問,小米官方給出了詳細解答。小米官方介紹,小米YU7配備的電動內翻門把手在設計上頗具匠心。其不僅在美學層面符合設計要求,在可靠性和人體工程學方面也經過了充分驗證,功能體驗...
小米YU7閉式雙腔空簧系統詳解:比普通空簧系統更具優勢 - 天天要聞

小米YU7閉式雙腔空簧系統詳解:比普通空簧系統更具優勢

快科技5月25日消息,小米YU7配備的閉式雙腔空簧系統相比普通的空簧系統有哪些優勢?官方表示,與普通開式單腔空簧系統相比,閉式雙腔空簧系統在舒適性、操控性和響應速度等方面相對更有優勢,懸架高度調節速度大幅提升。小米YU7 Pro和小米YU7 Max搭載的閉式雙腔空氣彈簧系統支持5擋高度調節,高度調節範圍達75mm,最高離地...
三峽電源電站全電站工控系統技術升級改造完成 - 天天要聞

三峽電源電站全電站工控系統技術升級改造完成

5月22日,隨着X2號機組完成改造之後的啟動調試,三峽電源電站全電站工控系統技術升級改造圓滿完成。▲三峽電廠員工開展X2號機組改造後信號核對工作 本文攝影:田娜三峽電站總裝機容量達2250萬千瓦,是當今世界上最大的水電站,也是名副其實的“大國重器”。三峽電源電站是三峽電站的“保安衛士”,裝有兩台單機容量為5萬千...
一字之差凈化能力那麼強?一文讀懂小米凈煙機選購攻略 - 天天要聞

一字之差凈化能力那麼強?一文讀懂小米凈煙機選購攻略

前言:中國飲食文化多元化,不少地區的朋友喜歡麻辣、重辣、爆炒的口味和烹飪方式。這類型的烹飪的過程中產生的油煙、熱量、濃烈的氣味容易讓人卻步,尤其是對於一般小戶型的家庭來說,尤其是開放式廚房的油煙、氣味壓力都非常大。