フォーラムに新規参加しました。 VBAの新機能です。動的改ページ
私はマスターシートにアクセスするシート(Sheet1)を持っています。 F1のSheet1には、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
任意の助けをいただければ幸いです!
まず、 '選択Case'のこのコードの悲鳴ではなく、複数の' ElseIf's –
あなたは手の込んだのでしょうか?以前はSelect Caseを使ったことがありません。 – ZiggyStarlust
https://msdn.microsoft.com/de-de/library/cy37t14y.aspx – Dschoni