コード記入の効率化のために
VBA初心者です。今まで自動マクロ以上のことをしていなかったのですが、最近コード記入を始めたところ、その便利さに驚いております。
今作成しているマクロにて処理記入がとても長くなるのでどうしたらよいか試しているのですがうまくいきません。
excel VBA に関して2件ご質問いたしますのでご教授お願いします。
(1)Sheetの選択に関して、1つの新規bookの複数のsheetを移動させたいので下記のようにコードを書きましたが、sheet数の条件毎に処理を書くと下記の様に長くなってしまいます。
Select Case Worksheets.Count
Case Is = 22
Worksheets(21).Move
Case Is = 23
Worksheets(Array(21, 22)).Move
Case Is = 24
Worksheets(Array(21, 22, 23)).Move
Case Is = 25
Worksheets(Array(21, 22, 23, 24)).Move
そこで、変数宣言して WorkSheets(a) ~ WorkSheets(b)
と出来るのでしょうか? 個別指定でなく、範囲指定する方法があるのならお教えください。
(2) checkbox1 checkbox2 それぞれの真偽ごとに処理を分岐するのに
If UserForm_001open.CheckBox1.Value = True Then
Worksheets("sheet1").Copy before:= _
Worksheets("back")
上記のようにcheckbox毎に処理を記入するのでなく、CheckBoxの番号を変数宣言して、上記のコードの挿入する方法があればお教えください。
質問が長くなりましたが、いかにコードを短く、整理されたものにするかに注意して勉強しております。ぜひご教授願います。
お礼
回答ありがとうございます。