• ベストアンサー

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

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

  • string
  • お礼率92% (168/181)

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>マクロの記録だけで別のシートにも適用できるマクロを作成できないでしょうか? >実際にはもっと複雑な動作をさせたいのです 記録マクロは完璧なものでは無いので、若干の変更を加えたり必用な仕様に仕上げるにはマクロの知識が必用になります。

string
質問者

お礼

わかりました。 どうもありがとうございました。

その他の回答 (1)

  • wein1982
  • ベストアンサー率25% (1/4)
回答No.2

Sheets"Sheet1".Select の記述を ActiveSheet.Select に変えるか、その記述自体を消してしまえば、そのとき選択しているシートについて実行してくれると思います。

string
質問者

お礼

おっしゃるとおりにしたら、できました。 どうもありがとうございました。

関連するQ&A

  • 並べ替えマクロでシートの名前を変更した場合

    以下のマクロを記録しました。 「Sheet1」でA1:B20を選択して、昇順の並べ替えを実行して終了です。 VBEで中身を確認すると、途中にシート名の"Sheet1"が記述されています。 この内容だと、シート名を変更したり、別のシートで実行する場合は、マクロのシート名の記述を変更しないと実行できません。 これだと不便なので、シート名にかかわらず実行できる昇順マクロを作りたいのですが、何か方法はありますか。

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

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

  • エクセルのマクロ記録について

    エクセル2007でマクロ1の記録を行い「更新」ボタンにマクロ1を設定しています。Sheet1からSheet12迄の入力データを「更新」ボタンクリックで 削除するように記録しています。 Sheet1からSheet12をシート保護した場合マクロ1は実行エラーになり 各シートを保護解除すると正常に実行します。 Sheetがまたがるマクロの記録はシート保護をするとだめなのでしょうか? 各Sheet共入力セル以外をロックしたい為、シート保護をかけようと思います。

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

    エクセル2010でのマクロについて、教えてください。 「全体を選択」→「昇順で並び替え」というマクロはどのように書けばできますか? マクロの記録でやると、そのシートでしか使えないマクロになってしまいますが、 データ量も違う色々なシートで使用したいのです。よろしくお願いします。

  • Excelマクロの変化するデータ範囲の記述の方法

    初心者です。データ並べ替え(昇順)を自動実行するマクロを作成したいのですが、データ範囲が増減しても正しく実行できるようにするにはどうすればよいでしょうか。マクロの自動記録で作成しましたが、visual basic editorで範囲の修正する箇所を教えてください。

  • マクロがコードに記録されない

     今晩は、宜しくお願いします。  エクセルのシートに写真を取り込んで、「ある大きさにサイズ変更 ⇒ 同じ大きさのセルに 移動させる」を「マクロの記録 ⇒ マクロの終了」でマクロを作成し、別のシートでも実行させ たいのです。  実は、あるエクセルファイルでは、うまく実行出来たのですが、今日、同じやり方で、別のエ クセルファイルでマクロを作成しましたが、マクロが全く実行されません。  「マクロ ⇒ 編集」からマクロコードを見ても、あるサイズに変更するところのマクロコードが 記録されていません。  これは何故でしょうか。  また、「相対参照で記録」というオプションがありますが、これが何らかの関係があるのでしょ うか。  どうしても理由がわかりません、以上、宜しくお願いいたします。

  • エクセルシートの並べ替えについて

    ひとつのエクセルブックに複数のワークシートがあって、それぞれのシートの見出し(デフォルトでsheet1とか2とか入っているところです)に名前をつけています。(例)東京支店、名古屋支店、大阪支店...等 今、シートの順番が作成順なのですが、これをシートの見出しの文字から、一発で昇順や降順に並べ替える方法はありますか? 参考書によると手作業では1枚ずつシートの順番の並べ替えができるようですが、シート枚数が多いためお尋ねしています。 よろしくお願いしします。

  • 記録したマクロを実行するボタン

    シート1にマクロを実行するボタンを 作成したいと思います。 マクロは、シートに2にアクセスdbのクエリデータを 外部データの取り込み実行でインポートする よう記録しています。 シート1のボタンに記録したマクロを 貼り付けると、エラーメッセージで 「とりこみ先の範囲は、クエリテーブルが 作成された同じワークシートにありません」 と出ました。 同じワークシートでないとクエリ実行ボタンは 作れないのでしょうか?? よろしくお願いいたします。

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

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

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

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

専門家に質問してみよう