コピーしたファイルのマクロを実行すると前のファイルが開く

このQ&Aのポイント
  • エクセルで2005年度の売上集計ファイルを作成し、マクロの自動記録で並び替えをした結果、マクロを実行すると前のファイルが開いてしまいます。
  • 新たに2006年度のファイルをコピーし名前を変えて記録を始めた際にも同様に、マクロを実行すると前のファイルが開きます。
  • 解決策としては、マクロ内でファイル名を明示的に指定することで、指定したファイルのみを操作するようにすることが考えられます。
回答を見る
  • ベストアンサー

コピーしたファイルのマクロを実行すると前のファイルが開く

よろしくお願いします。  エクセルで2005年度の売上集計ファイルを作りました。一定の条件で並び替えをしたかったので、マクロの自動記録でその[並び替え]を記録しました。それをユーザー設定ボタンとしてツールバーに表示させました(ニコちゃんマーク)。  そして年度が変わったため、そのファイルをコピーし名前を変えて2006年度として記録を始めたのですが、このマクロを使うと動作は2006年度のファイルに対して動くのですが、なぜか前の2005年度の売上集計ファイルが開きます。 (最初に「マクロを有効にしますか?」と聞いてきます)  前のファイルが開かないようにして、2006年度のファイルだけでこの並べ替えができるようにするにはどうしたら良いでしょうか?  よろしくお願いします。 ThinkPad X40 OS: WinXP SP2 Excel: 2003 SP2

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >ユーザー設定ボタンとしてツールバーに表示させました(ニコちゃんマーク) 一般的に、このようにした時は、そのマクロは、個人用マクロブック(PERSONAL.XLS)の標準モジュールに書き込み、それを、[ユーザー設定]-[コマンド(タブ)]-[選択したボタンの編集]-[マクロの登録]で、設定をしなおします。 ボタンなどのグローバルな場所(ツールバーなど)に設定されたマクロは、一般のブックに登録すると、常に、そのブックが呼び出されることになります。

errata
質問者

お礼

ありがとうございます。 [選択したボタンの編集]がいまいち理解不足ですが、取りあえずそれらしき作業をして[マクロの登録]をして解消できました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

並び替えのマクロに [2005.xls]Sheet1!A1:B300 のようにブック名が含まれているからでしょう。 ALT+F8でマクロ一覧を開いて、マクロ名を選択し「編集」を選択するとコードが表示されますので、ブック名を変更するか、不要な記述であれば[xxxx.xls]の部分を削除してください。(別のブックを開く必要が無ければ取っても動くと思います)

errata
質問者

お礼

ありがとうございます。 記述を見てみたのですが、それらしき記述は見あたりませんでした。別の方法を探してみてみます。

関連するQ&A

  • マクロを実行すると別ファイルが立ち上がる

    エクセル2010を使用しています。マクロ(ここでは販売集計1とします)を立ち上げて実行すると実行はされるのですが別のファイル(販売集計2)が立ち上がるのです。販売集計1と2はマクロの内容は同じものです。別ファイルが立ち上がらないようにするにはどうすればいいでしょうか。

  • エクセルマクロでファイルを開いて保存したいです。

    エクセルマクロでファイルを開いて保存したいです。 エクセルファイルでファイル名「編集」という物を開きます。 このSheet1には中央にコマンドボタンが作成して有ります。 このボタンをクリックして以下の作業をマクロで行いたいです。 1.エクセル標準の「ファイルを開く」のメッセージボックスが開く 2.ここは使用者が作業をしてもらう   マイドキュメントだったり、マイネットワークだったり、   (ファイルの種類はCSVにする)   処理をしたいCSVファイルを探してもらい選択後、開くをクリック   例えば20100922.CSVを選択し開くをクリック 3.クリックと同時にそのファイルが展開されて、「編集」のエクセルファイルの   Sheetにシート名「集計」が作成されそのシートにCSVファイルの全内容がセルA1から貼り付く。   さらに登録してあるマクロモジュールで編集処理がされ   マクロを引き継がず、シート「集計」だけを   ファイル名は固定でそのファイル名の後ろに作成日(システム日付)を入れて   参照したCSVファイルの保管場所に保存する。   ファイル名例:売上20100923.xls(売上は固定) 4.エクセル「編集」のファイルからシート「集計」を削除する。 5.メッセージBOXで「編集終了」と表示 次回エクセルファイル「編集」を開くと、コマンドボタンだけである。 また作成された「売上20100923」はマクロがないから開くときに マクロのメッセージは出ない。というようにしたいです。 NO.2のファイルを選択する作業は作業者にしてもらいますが シート1のコマンドボタン1回を押すだけでNO.1~NO.5まで完結させたいです。  NO.3のマクロ処理はマクロの記録でモジュールができています。 このマクロの作成方法と、そのマクロが出来たら その文のどこに作成済みの処理文を入れればいいのかわかりません。 よろしくお願いします。 ここでつまづいています。この後この選択したファイルの全内容が シートの集計に展開されません。 Private Sub CommandButton1_Click() Call 集計 End Sub Sub 集計() FullPath = Application.GetOpenFilename("CSV,*.CSV") If FullPath <> "False" Then Sheets("Sheet1").Select Sheets.Add ActiveSheet.Name = "集計" With ActiveSheet.QueryTables.Add(Connection:="CSV;" & FullPath, Destination:=Range("A1"))   マクロの記録で作成したマクロ   シート"集計"をマクロを引きつかずファイル名売上&システム日付で保存   シート"集計"を削除する

  • エクセルのマクロ機能について

    もう一度 助けてください エクセルの集計表である列の移動 並べ替えをエクセルのマクロ機能でつくりました ボタンを押すだけで うまくいっていたのですが データーが増え行を増やそうと 前のマクロを削除して また最初から作ろうとしたところ 記録できません 静的変数が64KBを超えたとかでます 編集 削除しようにも実行とキャンセルしか使えません いろいろほん(VBA)を見ましたが 私のレペルでは100年無理です 簡単なエクセルのマクロにも 範囲があるんですか あるひとつのシートだけマクロを残しています 手作業の集計や決まった作業はたいへんです

  • エクセル2007でのマクロの記録

    マクロ初心者です。しょうもない質問で申し訳ありません。 エクセル2007で並び替えをマクロに記録させても並び替えが実行できません(エクセル2003は可能でした)。 例えば・・・マクロの記録を実行→B4セルから下に10~1の数字を入力→その後並び替えボタンをクリックし、昇順で1~10に並び替える→マクロの記録を停止。確認のため、シート2でマクロを実行。数字は入力されるが、並び替えがおこなわれません(T_T) エクセル2007では並び替えのマクロは記録できないのでしょうか??それとも不具合ですか?もし簡単に出来る方法等があるなら教えて頂ければ幸いです。 お手数をおかけしますが、どなたかご回答を頂けると幸いです。

  • EXCEL マクロの記録で並べ替えのマクロをつくるとそのシートでしか使えないのでしょうか?

    EXCEL マクロの記録で並べ替えのマクロをつくるとそのシートでしか使えないのでしょうか? EXCEL2007を使っています。 マクロの記録で並べ替えのマクロをつくるとそのシートでしか使えないのでしょうか? シート1 1 3 2 というデータを「マクロの記録」で昇順に並べ替えるマクロを作成します。 シート2 3 5 4 というデータに適用したいのですが、マクロを実行するとシート1のデータが 並べ替えられてしまいます。 マクロを読むと「シート1」という記述があるのでシート1にしか適用できないようです。 マクロの記録だけで別のシートにも適用できるマクロを作成できないでしょうか? (ただの並べ替えだけだったらマクロを作成する必要はないのですが、実際にはもっと複雑な 動作をさせたいのです)

  • エクセルマクロ 異なるファイル名でも実行してくれるマクロ

    マクロ初心者です。よろしくお願いします。 ファイル名はすべて例えです。 「A」エクセルファイルを 「Z」というファイルに貼り付けるマクロを作りました。 そのマクロで「B」ファイルからも「C」ファイルからも 「Z」ファイルにコピーをしなくてはいけないのですが VBAには「A」で記録されているため 「B」と「C」にはそのマクロが使えません・・・。 VBAをどのようにデバックすればいいのでしょうか?

  • Excelの並べ替えをマクロで実行したら・・・

    Excelの並べ替えをマクロに登録しました。その日の作業ではうまく動くのですが、後日、元のデータを変えて実行したらおかしくなります。具体的には、B列を降順で並べ替えをしたら、その他の列が並び替えられないのです。その日に電源を入れなおして実行しても、うまく並び替えできるのですが、後日実行したらおかしくなります。ちなみにTODAYとかは入っていません。WinXPでExcel2000です。宜しくお願いします。

  • マクロの記録

    エクセルのマクロを勉強しているのですが、マクロの記録で「マクロの記録」ダイアログボックスに必要事項を記入して「OK」をクリックすると、画面に「マクロの記録」ツールバーが表示されるとのことですが、やって見ても「マクロの記録」ツールバーが何処にも表示されません。 どうしてでしょうか?

  • マクロでマクロを削除、または停止させるには?

     1つのExcelファイルからマクロを走らせて、複数のExcelファイルにあるデータを集めたいと思っています。 ただ、複数のExcelファイルは、ファイルを閉じる際にマクロが走るようになっているので、このマクロが走らないようにして、データを集めたいです。  そこで、実現したいのは、1つのExcelファイルから集計用のマクロを走らせる時に、複数のExcelファイルに設定してあるマクロを削除するか、あるいは、マクロを停止させたいです。  ちなみに、複数のExcelファイルを開いた後、閉じないことにより、マクロを走らせないようにして、集計を行うマクロを試しましたが、開いたままのファイル数が多いようで、途中でエラーが出て止まってしまいます。  アドバイスをお願いいたします。

  • 複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロ

    複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロで行いたい。 マイドキュメントのデーターというフォルダ内に エクセルファイルA(シート名みかん) エクセルファイルB(シート名りんご) エクセルファイルC(シート名バナナ) エクセルファイルD(シート名ぶどう) エクセルファイルE(シート名いちご) があります。 雛形は同じです。すべてA列~F列までデータが入っています。 行数はファイルによって違います。 また毎日自動で上書き更新され、毎日行数が変わります。 エクセルファイルZがあります。シートが7個あります。 ・変換 ・集計 ・みかん ・りんご ・バナナ ・ぶどう ・いちご エクセルファイルZを開きます。(各シートには昨日のデータが貼り付けてあります。) マイドキュメントのデーターフォルダも開いておきます。 エクセルファイルZにおいて「マクロの記録」を起動。 エクセルファイルZの 【みかん】~【いちご】までの5シートを全データDELETEします。 開いてあるフォルダ「データー」の中からエクセルファイルAを開きます。 (タスクバーにいます) ファイルAのシート【みかん】の全データ選択して エクセルファイルZの【みかん】というシートのA1セルにカーソルを あわせて貼り付けします。 開いてあるフォルダ「データー」の中からエクセルファイルBを開きます。 (タスクバーにいます) ファイルBのシート【りんご】の全データ選択して エクセルファイルZの【りんご】というシートのA1セルにカーソルを あわせて貼り付けします。 これと同じ操作を【バナナ】【ぶどう】【いちご】も行います。 エクセルファイルZにおいて「マクロの記録」を終了させます。 マクロができあがりました。 ファイルZを上書き保存して終了。再立ち上げで記録したマクロを実行。 エラーにはなりませんが、ファイルZの5種類各シートに ファイルA~Eのデータが貼りつきません。 何か無理な事をしているのでしょうか? もしかしてシート名が同じだと駄目?とためしにファイルZのシート名【みかん】~【いちご】を 【みかんZ】~【いちごZ】に変更してマクロを再記録しても 駄目でした。 よろしくお願いします。

専門家に質問してみよう