• ベストアンサー

マクロをボタンに登録するとエラーになる

ツールのマクロから実行すると、成功するのですが、そのマクロをフォームコントロールのボタンに割り当てると失敗します。RangeクラスのAutofillメソッドが失敗しました、と。 中身としては、(会社のパソコンなので、コードが書けなくてすみません。) 関数を最終行までオートフィルして、フィルターをかけて0以外を表示させ、そのページを印刷する、という形です。 ただ作成したマクロをボタンにすることはできないのでしょうか?? よろしくお願いします。

  • s1194
  • お礼率23% (13/55)

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1623/2463)
回答No.1

フォームを開いているときにAutofillをするシートとは別のシートがアクティブになっているのではないでしょうか。 Autofillのコードにシートを指定するかAutofillをするシートをアクティブにしてください。

関連するQ&A

  • ExcelVBAでのオートフィルの使い方

    Excel2003です。 Bセルに入っている値をHセルまで右方向にオートフィルするマクロを組んでいるのですが、うまく動きません。 Bセルの最終行は変動し、オートフィルはBセルの最終行と最終行の1つ手前の2つ分をオートフィルしたいのです。 Range("B1").End(xlDown).Offset(-1, 0).Select Range(ActiveCell, ActiveCell.Offset(0, 7)).AutoFill Type:=xlFillDefault Range("B1").End(xlDown).Offset(0, 0).Select Range(ActiveCell, ActiveCell.Offset(0, 7)).AutoFill Type:=xlFillDefault これで、オートフィルしようと思っていたのですが、 Range(ActiveCell, ActiveCell.Offset(0, 7)).AutoFill Type:=xlFillDefault この式の実行で、 実行時エラー'1004' RangeクラスのAutoFillメソッドが失敗しました と、出てしまいます。   Selection.AutoFill Destination:=Range("B23:H23"), Type:=xlFillDefault こういうマクロなら動くので、AutoFillの後に明確な範囲指定をしていないせいなのでしょうか? 最終行が変動してしまう為、このような明確な範囲指定をする事ができません。 いい解決方法はないでしょうか?

  • Excel)マクロ登録したソースをボタンへ移行すると1004エラー

    Excelマクロの登録して作ったマクロをボタンを作成し移行しました。 実行すると、「エラー1004 Rangeクラスのselectメソッドが失敗しました。」と エラーがでました。 やりたいことは、シートAにあるボタンをクリックすると、シートBの値を 初期化したいのです。 コードは以下の通りです。 Sheets("B").Select Range("I65:K87").Select Selection.ClearContents どうすればよいでしょうか?

  • エクセルでマクロ登録の不具合解消

    エクセルでマクロを作成し 「ツール」→「マクロ」→「実行」 を行うとうまくのですが コマンドボタンを配置して Click イベントに 同じマクロ文を登録してボタンを押すと Cells.Select でエラーが出ます 「実行時エラー '1004'; Range クラスの Select メソッドが失敗しました」 コマンドボタンにマクロを登録する場合 設定か何かあるのでしょうか 誰か 教えてください

  • EXCEL2007マクロ/オートフィルについて

    VBA初心者です。 EXCEL2007でオートフィルのマクロを作ったのですが、下記のケースで困っています。 A列のデータが入っている行までB列のデータをオートフィルで入力したく、 A列の最終行からデータが入っている行までを求めてB列のデータをオートフィルで入れるため、下記のマクロを設定しました。 Sub test()   Range("B1").AutoFill Destination:=Range("B1", Range("A1048576").End(xlUp).Offset(, 1)) End Sub ところが、A列のデータが2行以上ある場合はうまくいくのですが、一行のみだった場合オートフィルができなくてマクロがとまってしまいます。 一行なので当然なのですが、このような処理をしたい場合、他に方法はないものでしょうか? お知恵を拝借できますと大変助かります。 どうぞよろしくお願いいたします。

  • EXCELマクロ:列の指定を数値で表現できますか?

    Excel2000を使用しております EXCELの任意列の挿入、およびオートフィルを行なう関数を作成しようと思ったのですが、 オートフィルのメソッドの場合、 Columns("D:D").AutoFill Destination:=Columns("D:E"), Type:=xlFillDefault と、列を指定する場合、英字で指定しなければならないようで、 これを今回作成する関数の引数で渡された数値(2列目を3~10列目までオートフィル) で行ないたいと思っております。 列を数値で表現するにはどのようにすればよいのでしょうか。 ご回答をよろしくお願いいたします。

  • エクセルのフォームをマクロで登録する方法

    教えてください。 エクセルでデータ入力に「データ」から「フォーム」を作成して入力しております。 共有でしようしますので、マクロボタンを作成して、ボタンをクリックすることで、フォームを表示するようにしたいのですが、Worksheeet クラスのshowDateFormメソッドが失敗しました。「デバック」が表示され、フォームが出来ません。マクロでエクセルからフォーム表示出来る方法をお願いします。

  • エクセルのマクロボタンで

    エクセル97を使っています。 マクロをボタンに割り当て、そこに印刷マークを表示させたいと思っています。 ツールのユーザー設定のマクロボタン(黄色いスマイルマーク)ではなく、オートシェイプまたはコントロールツールボックスのボタンにビットマップを張りつければいいと思ったのですが、印刷のビットマップ(?)はどこにあるのでしょうか? Accessではボタンにピクチャーが割り当てられるので、印刷ボタンもあるのですが、そのボタンの絵も実際のフォルダのどこにあるのか、検索しても出てきません。 あれは.bmpや.icoではないのでしょうか? 他PCでも見られるようにしたいので、ビットマップを自作することは考えていません。 よろしくお願いします。

  • PowerPoint VBAコマンドボタンでのマクロ

    PowerPointでVBAを使ったフォームを作製しました。 そのフォームを表示させるためマクロを書き、スライド上に コマンドボタンを配置させマクロを実行させたいと思っています。 ExcelのVBAですとコマンドボタンにマクロを割り当てるのは ツールバーのフォームのコマンドボタンで設置すると簡単ですが PowerPoint VBAですとコントロールツールボックスでのコマンド ボタンしかなくボタンにマクロを割り当てる方法が分かりません。 どなたかコマンドボタンにマクロを割り当てて実行する方法を 教えて下さい。 宜しくお願い致します。

  • 実行時エラー1004 オートフィルができない

    エクセルなのですが、A列の文字にたいする数式をB列に入れて最終行までオートフィルするマクロを作りたいのですが実行時エラー1004が発生してしまいます。 Sub macro1() Dim LastRow As Long LastRow = Range("A65536").End(xlUp).Row Range("B1").Value = "=LEN(A1)" Range(Range("B1"), Selection).AutoFill Destination:=Range("B1:B" & LastRow) End Sub このコードです。 Range(Range("B1"), Selection). ここら辺が怪しいかなと思ってるのですが、どうすればいいでしょうか? オートフィルを使わずにfor~nextでやる方法も知ってますが、オートフィルでやる方法をご教授いただきたいです。 よろしくお願いします。

  • マクロボタンが勝手に飛び回る

    エクセルシートの「フォームツールバー」でフォームボタンを配置して印刷マクロを作ったのですが、なぜかボタンをクリックすると勝手に移動してしまいます 原因がサッパリわかりません、 プロシージャは Private Sub CommandButton1_Click() Worksheets("納付書").Range("a1:v35").PrintOut Range("Z4").Select End Sub このようなマクロになっています。 助けてください。