アプリ版:「スタンプのみでお礼する」機能のリリースについて

当方マクロ初心者ですが下記のマクロをCheckBox0~CheckBox23についてコピーするセルを変化させながら繰り返し処理を行いたいのですが、簡単なループ処理で行えますか?
教えていただければ幸いです。
If CheckBox0.Value = True Then
Worksheets("sheets1").Activate
 行 = Worksheets("sheets1").Range("e7")
  行 = 行
  Worksheets("sheets1").Range("g7:t7").Copy
Windows("Books1.xls").Activate
Sheets("sheets1").Select
Range(Cells(行, 15), Cells(行, 15)).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If

A 回答 (2件)

23とおりの中の1つ、ないしは複数を選ばせる場合、こういう風に


オブジェクトを選ばすのでなく、1つのオブジェクト(コントロール、リストボックスのような)でMultiSelectさせて、その選択された中身で処理選択が分かれるようにすべきではないですか。コントロールの配列化ができないVBAの場合はなおさら。
そして選択肢と処理のパターンや(要素、この場合、シート、行、列、セルなど。)処理は出来るだけ、テーブル化できないか工夫する)
ーー
質問にはコメントもつけないコードを挙げて、読者・回答者に読み解かせるのではなく、処理したい内容の文章も添えるとか、質問者の心配りがほしい。
もっと質問の内容を抽象化できないのかな。
下記が、質問の主旨と離れておれば無視してください。
ーー
コントロールの場合
ChekBox○○の○○(=数字)ガ連続していることをいいことに
Private Sub UserForm_Click()
For i = 1 To 3
Controls("CheckBox" & i).Value = False
Next i
End Sub
のようなことが行われる。
UserFormのチェックボックスはよいが、WorkSheetのチェックボックスはうまく行かないようだ。
Googleで「VBA コントロール配列」で照会してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速、Googleで「VBA コントロール配列」を
見ました、参考になりました。

お礼日時:2008/10/14 08:36

>CheckBox0~CheckBox23


において
>コピーするセルを変化させながら繰り返し処理を行いたい
とはどうゆうこと?

CheckBox0~CheckBox23毎に範囲が違うのかなど、提示されたコードからは予測不可能に近いように感じますが。
    • good
    • 0
この回答へのお礼

質問が的を得ていなくてすいませんでした。
ご指摘ありがとうございました。

お礼日時:2008/10/14 08:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!