- ベストアンサー
マクロで教えてください。
4つのエクセルデータ(A,B,C,D)それぞれ内のシート全てを ペイントというエクセルデータの機種マスタというSHEETの右隣以降に移動したい場合の マクロを教えてください。 ちなみに、数式が入っているsheetにはそれぞれ名前が付いています。 A,B,C,Dのデータにはsheet2、sheet3というなにもデータが無いsheetもありますので、 そのsheet2、sheet3は移動したくありません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
あなたが言いたかったこと: A.xls,B.xls,C.xls,D.xlsと4冊の「ブック」があります。それぞれのブックの「全てではなく」必要なシートだけを,ペイント.xlsというブックの機種マスタというシートの右に,続けてシートを移動するマクロを誰か書いて私に下さい。 「必要なシート」とは,何か一言でも書き込みされているシートの事です。 >ちなみに、数式が入っているsheetにはそれぞれ名前が付いています。 全くイミフメイのためスルー。 どんなシートにも,漏れなく名前は付いています。 一応「数式」に配慮したマクロにします。どんな数式か知りませんが。 手順: A,B,C,Dの各ブックとペイントブックは既に開いてあるとする sub macro1() dim a as variant dim ax as variant dim flg as boolean dim i as long a = array("D.xls","C.xls","B.xls","A.xls") for each ax in a flg = true workbooks(ax).activate for i = 1 to workbooks(ax).worksheets.count if application.counta(workbooks(ax).worksheets(i).usedrange) > 0 then worksheets(i).select flg flg = false end if next i if not flg then windows(ax).selectedsheets.move after:=workbooks("ペイント.xls").worksheets("機種マスタ") end if next end sub
お礼
自分でも書いていて意味不明だなと思いながら書いておりました。 こんな文章でも一発満点回答をいただき本当に助かりました。