• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ:チェックボックス コピー3)

エクセルマクロ:チェックボックスを使った列のコピーとペースト

このQ&Aのポイント
  • 前回の質問では、sheet2のチェックボックスを使ってsheet1の列をコピーしてsheet3にペーストする方法を教えていただきましたが、今回はsheet4の列もコピーしてsheet3にペーストする方法を知りたいです。
  • sheet2のチェックボックスを使って、sheet1とsheet4の列をコピーしてsheet3にペーストしようとしていますが、うまくいかないようです。どなたか解決方法を教えていただけませんか?
  • 前回のベストアンサーによると、sheet2のチェックボックスを使ってsheet1の列をコピーする方法が書かれています。しかし、今回はsheet4の列もコピーしてsheet3にペーストしたいです。解決策を教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シート4のどの列をどうコピーしたいのか、何も説明がありません。一体何をしたいのでしょうか。 private sub CommandButton1_Click()  dim res as range  dim rmax as long  dim i as integer  dim n as integer  dim temp as range  rmax = worksheets("Sheet1").range("B1").end(xldown).row  set res = worksheets("Sheet1").range("A1:A" & rmax)  worksheets("Sheet3").usedrange.clearcontents  for i = 1 to 20   if worksheets("Sheet2").oleobjects("CheckBox" & i).object.value then    set res = union(res, worksheets("Sheet1").range("A1:A" & rmax).offset(0, i))    n = n + 1   end if  next i  if n = 0 then  msgbox "NO CHECK"  exit sub  end if  res.copy  worksheets("Sheet3").range("A1").pastespecial paste:=xlpastevalues  set temp = worksheets("Sheet3").cells(1, n + 2)  set res = worksheets("Sheet4").range("A1:A" & rmax)  for i = 1 to 20   if worksheets("Sheet2").oleobjects("CheckBox" & i).object.value then    set res = union(res, worksheets("Sheet4").range("A1:A" & rmax).offset(0, i))   end if  next i  res.copy  temp.pastespecial paste:=xlpastevalues  application.goto worksheets("Sheet3").range("A1")  temp.entirecolumn.delete shift:=xlshifttoleft end sub #補足 >無断で借用させていただきました 教わったマクロをコピーして掲示しても、何の情報提供にもなりません。(それをやるぐらいなら前回のご相談のURLを掲示して、こんな経緯がありましたと情報提供します) 「いま具体的にどういう内容のマクロをご自分のエクセルで動かしているのか」、あるいはもっと役に立つ情報提供としては「あなたはご自分で具体的にどんなマクロを書いて失敗したのか」といった、実際のあなたの今のエクセルの様子をご相談では記入してください。

meina04
質問者

お礼

keithin様 失礼な質問にもかかわらずご回答いただきありがとうございました。 sheet2にチェックボックスを追加して、CheckBox21とcheckBoxiならsheet1の列、CheckBox22とCheckBoxiならSheet4の列というようにしてコードを使用させていただきました。 nがカウント?することを初めて知り勉強になりました。 進歩のない私ですがご指導よろしくお願い致します。

関連するQ&A