人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAでお願いします。
下記のコードのように、実施人数をあるシートでカウントしていて、別のシートを印刷するようにしています。

その際、実施人数により印刷範囲を設定したいのですが、select case構文内のcase 1 to 2 などの分を全部入力するのが面倒です。どのように書き直したらいいですか?実施人数は200人程度です。

Sub 実施人数対応印刷プレビュー()

Dim 実施人数 As Integer
Dim 印刷下端行 As Integer

Select Case 実施人数

Case 1 To 2
印刷下端行 = 30
Case 3 To 4
印刷下端行 = 30 * 2
Case 5 To 6
印刷下端行 = 30 * 3
Case 7 To 8
印刷下端行 = 30 * 4

Case Else
???
End Select

With ActiveSheet.PageSetup
.PrintArea = "$A$1:" & Cells(印刷下端行, 44).Address
End With
ActiveSheet.PrintPreview
End Sub

●質問者: anglar
●カテゴリ:コンピュータ
✍キーワード:AS CASE SELECT sub エクセル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● airplant
●60ポイント

「Select Case」をやめて、単純に計算式で表すということでどうでしょう。

印刷下端行 = 30 * INT((実施人数 + 1)/2)

1?2=1, 3?4=2, ・・・のようですので。

◎質問者からの返答

素早い回答ありがとうございました。単純明快。おっしゃるとおりです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ