1
論壇新手。 VBA新手。動態分頁符
我有一個工作表(Sheet1),它訪問一個主表。 在Sheet1中,在F1中,有一個下拉菜單,可以讓您選擇從1-27中選擇一個數字。 Sheet1中的信息根據選擇的數字而變化。
問題: 對於每個選定的編號,工作表的大小都會發生變化。我試圖找出一種方法來根據F1中的數字自動設置分頁符。
這是我迄今爲止,但它似乎並沒有工作:
Sub PageBreaks()
On Error Resume Next
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
If "F1" = 1 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(85)
ElseIf "F1" = 2 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(85)
ElseIf "F1" = 3 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(87)
ElseIf "F1" = 4 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(88)
ElseIf "F1" = 5 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(85)
ElseIf "F1" = 6 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(85)
ElseIf "F1" = 7 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 8 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 9 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 10 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 11 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 12 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 13 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 14 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 15 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 16 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 17 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 18 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 19 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 20 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 21 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 22 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 23 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 24 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 25 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(43)
ActiveSheet.HPageBreaks.Add Before:=Rows(92)
ElseIf "F1" = 26 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(59)
ElseIf "F1" = 27 Then
ActiveSheet.HPageBreaks.Add Before:=Rows(59)
End If
End Sub
任何幫助將不勝感激!
首先,這個代碼使用'Select Case'來代替多個'ElseIf'的使用 –
你能詳細點嗎?我以前從未使用Select Case。 – ZiggyStarlust
https://msdn.microsoft.com/de-de/library/cy37t14y.aspx – Dschoni