• 締切済み

マクロの設定について

xls88の回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

>デバックは(田辺)の行でラインが発生してます。 ”「エラー9、インデックスが範囲にありません」”というエラーは 言い換えれば、田辺.xlsブックが見つからない、ということです。 田辺.xlsというブック名の記述が間違っていませんか? あるいは、田辺.xlsというブックが開かれていないのではないでしょうか。 ≪1≫ >Range("B23:F27").Select >Selection.ClearContents 記録マクロでは、Select、Selectionが多数出現します。 多くの場合、Selectする必要がありません。 上記2行ですが Selectionは、直前でSelectしたRange("B23:F27")のことですから Range("B23:F27").ClearContents と、1行に纏めることができます。 ≪2≫ >ActiveWindow.SmallScroll Down:=-15 スクロール操作も記録されますが、ほとんど必要ありません。 削除しても大丈夫ですが、 ' ActiveWindow.SmallScroll Down:=-15 というように、行先頭に、'(アポストロフィ)を付ければコメントアウトされます。 マクロ実行時に、この行はパスされて実行されなくなります。 必要のないことが充分確認できてから、おもむろに削除してください。 ≪3≫ >Range("D9:D19").Select >Selection.ClearContents >ActiveWindow.SmallScroll Down:=9 >Range("B23:F27").Select >Selection.ClearContents 同一シート内で、複数の離れたセル範囲は 例えば A1を選択 Shiftキーを押した状態で、A5をクリック Ctrlキーを押した状態で、C1をクリック Shiftキーを押した状態で、C5をクリック と、いった操作を「マクロの記録」すれば Range("A1:A5,C1:C5").Select と記録されます。 つまり、≪1≫≪2≫を踏まえて Range("D9:D19,B23:F27").ClearContents とすることができます。 ≪4≫ >Range("D9:D19").Select >Selection.ClearContents 記録マクロでは、マクロ記録時に明確な操作をしない限り、ブック名とかシート名が省略されます。 上記2行では、Range("D9:D19")の上位オブジェクトである、シート、その上である、ブックが省略されています。 その場合、マクロ実行時に、選択されているシートが操作対象になります。 充分、気をつけなければなりません。 例をあげれば Sheets("Sheet1").Range("D9:D19").ClearContents あるいは WorkBooks("ABC.xls").Sheets("Sheet1").Range("D9:D19").ClearContents などと、Range("D9:D19")の上位オブジェクトを明記します。

関連するQ&A

  • マクロボタンの設定

    複数のシートをまたいで処理するマクロを作成しました。 「sheet1」「sheet2]「sheet3」を使用するとします。 マクロの記録は「sheet1」から開始したので、通常のマクロ実行は「sheet1」から行なわないとエラーが出ます。 このマクロにボタンを作るのは「sheet1」にしないと当然エラーなのですが、それ以外の「sheet2」にボタンを作って実行する方法はありますか?

  • 【Excel】マクロ名の違い?

    Excel2003を使用しています。 AというブックのSheet5とSheet6にマクロを作っています。 (シート名の上で右クリック→コードの表示で表示された画面にコードを書きました) マクロの内容は、どちらもある範囲(連続していない)のデータをクリアするというものです。 「Ctrl」キーを押しながら該当セルを選択してクリアしていたのですが、毎回面倒なのでマクロボタンで処理することにしました。 (Sheet5とSheet6は、クリアするデータの範囲が違います) ボタンにマクロを登録して、実際に使ってみたところ、Sheet5の方は問題なく処理されたのですが、Sheet6の方がマクロが見つからないという内容のダイアログが出てきて、処理できませんでした。 「Alt」+「F8」でマクロ名を見てみると、Sheet5のマクロ名は『Sheet5.マクロ名』となっているのですが、Sheet6のマクロ名は『'A'!マクロ名』となっていました。 このことがSheet6のマクロが処理されないことと何か関係があるのでしょうか?また、Sheet6の方もきちんと処理されるようにするためには、どうしたらいいのでしょうか? よろしくお願いします。

  • マクロが止まってしまいます. (マクロ初心者です)

    ある2列のデータを選択して(例えばA1からB10まで) グラフウィザードを選択して散布図のグラフを作成する. 上記のようなマクロを作成したのですが, 作ったエクセルのファイル上ではちゃんと動いてくれるのですが 別のファイルで使うと 「実行エラー9 インデックスが有効範囲にありません」 と警告がでて途中で止まってしまいます. マクロ初心者でプログラムもわからないです. 保存先がよくないのでしょうか? それとも,もともとこのような作業(マクロを別のファイルで使用) はできないものなのでしょうか? よろしくお願いします. windows98 Excel2000

  • 【マクロ】データが1つもない行を削除する

    添付した画像のようなファイルがあります。 この表の中で、データが一つもない行は削除して、上詰めにするマクロを実行したいです。 また、このシートの表は11行で終わっていますが、 他のシートは25行目で終わっていたりとバラバラです。 すべてのシートでこの処理を行いたいと思っていますので、 他のシートで処理を行ってもエラーのでないマクロを教えていただけたら幸いです。 ちなみに、 ・各シートに表はひとつづつ。 ・各シートの表の開始セルは同じ。 ・全シートに対して一気に処理を行いたい。←指定した処理をすべてのシートで行うマクロは作成済なので大丈夫です。

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

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

  • エクセルマクロです。

    エクセルマクロを使い,100個ほどのファイルの合成プログラム(ファイルを読み込み,中のデータを一つのファイルに貼り付ける)を作っています。シート名が固定されていれば読み込むことが出来るのですが,シート名とファイル名が同じためインデックスエラーが出てしまいます。どのような対処法があるでしょうか…出来ればサンプルコードを教えていただけるとうれしいのですが…よろしくお願いします

  • Excelのマクロについて

    すっかり忘れてしまったのですがマクロをワークシート上に記載し その範囲のセル先頭にマクロ名をつけて実行した記憶があるのですが 今でも有効ですか?

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

    エクセルのマクロについて教えてください。 毎月、データをダウンロードし、VLOOKUP関数などを使って、 必要項目を入れ、ピポットテーブルで合計を出すという 作業をしています。マクロを使ったら、簡単にできるのでは ないかとやってみましたが、マクロで登録しても 毎月集計をするデータの件数が異なるため、 VLOOK関数で入力されるのが、そのマクロで登録したときの ものまでで、残りのセルが空欄になっていたり、 ピポットテーブルの集計は、データの範囲を選びなおしたり しないといけませんでした。 いい方法はないでしょうか。 マクロに作業を記録して、そのシートではなく、 ほかのファイルのシートで 実行する場合は、そのマクロを登録したときのファイル(シート)を 毎回開かなければならないのでしょうか。 基本的なことがわかっていません。 教えてください。

  • マクロが使えなくなりました。

    OS Win98でExcel2000SP3を使用しています。 先日,新しいパソコン(Win2000)に入替てExcelファイルを移行したところ, 実行時エラー'9' "インデックスが有効範囲にありません。" というエラーが出てしまい,今まで使用したマクロが使えなくなってしまいました。 前のPCでは今でも動いているのですが,どうしたら直るのでしょうか?

  • エクセルのマクロで...

    エクセルのマクロなのですが、うまく実行されません。 sheet1・sheet2とシートがあって、 sheet1のデータを範囲にして、既存のワークシート に保存の形でsheet2にピボットテーブルを作成し、 できたピボットテーブルの、フィールドを"表示しない" にする、というマクロを作成し、実行したのですが、 ピボットテーブルは作成できるところまでは実行される のですが、「フィールドを"表示しない"」が 出来ません。なぜがsheet1の元のデータがデリート されてしまいます。 マクロ初心者なので、困っています。 どなたかご存知でしたらお願いします。