【3月6日実施】システムメンテナンス実施のお知らせ

シート1に、A~Jまで項目別にデータを入力したリストを作成しています。
K列にチェックボックスを作成し、チェックをいれると隣のL列に0、チェックがないと-1がでるように設定しています。

シート2に、シート1のK列のチェックボックスにチェックをいれた行のA-Dの項目のデータを転記できるように設定したく奮闘しています。シート2のB-E列にチェックを入れた行のリストができればと思います。

その後、シート2のデータを別のエクセルに反映させる予定ですので、シート1からシート2の転記は関数ではなく、VBAで転記できたらと考えています。

上記のシート1からシート2へのデータの転記方法をご教示頂けませんでしょうか。
先日よりVBAの本と格闘していますが、期日が近くなり困っております。
初めての質問となり、説明が不足してましたら失礼致します。
何卒どうぞ宜しくお願いします。

A 回答 (1件)

>チェックをいれると隣のL列に0、チェックがないと-1がでるように設定しています。



マクロで作っているのでしょうか、いずれにしても、True と False が逆になっていますし、申し訳ありませんが、TRUE, FALSE ではないので、直接チェックボックスを当たることにします。

この場合は、フォームコントールのチェックボックスにします。こちらの方が、ずっと扱いが便利だからです。ActiveX のチェックボックスでも出来ないことはありませんが、以下のような簡単なマクロではなくなります。

あくまでも、チェックボックスは順序よく並んでいるとします。
j はデータの最初の行

最初の行の意味や転記先の最初の行の意味を確認して、本番前にマクロを試しながら、調整してください。

'//
Sub transferBychkbox()
Dim i As Long, j As Long, k As Long
j = 2  '元データの最初の行
k = 1 '転記先の最初の行
With ActiveSheet
 j = j - 1 ' i は1から始まるので
  For i = 1 To .CheckBoxes.Count
     If .CheckBoxes(i) = xlOn Then
         .Cells(j + i, 1).Resize(, 4).Copy Worksheets("Sheet2").Cells(k, 2)
          k = k + 1
    End If
  Next
End With
End Sub
'//
「エクセルで、チェックボックスにチェックを」の回答画像1
    • good
    • 7
この回答へのお礼

お礼が遅くなり、大変失礼いたしました。

ご教示頂きましたデータを入れたところ、無事反映致しました!!
すごいです!!また、チェックボックスの扱いも勉強になりました。
教えて頂きありがとうございました。

本当に助かりました。ありがとうございます。
厚くお礼申し上げますm(__)m

お礼日時:2016/06/23 11:17

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A