アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

コマンドボタンにマクロを登録する場合
設定か何かあるのでしょうか
誰か 教えてください

A 回答 (5件)

自作のマクロの不具合を質問するなら、作成したコードを記述した方が回答しやすいと思いますが・・・。

この回答への補足

以後気をつけます。
今回のマクロは 600行ぐらいありますので
貼り付けるのはちょっとと思いまして
ちなみに エラーの出る部分だけ貼り付けます
****マクロ抜粋****
'製番の作成---------------
Sheets("抽出原本 (2)").Select

Cells.Select "ボタンに登録した場合、ここでエラーとなる"
With Selection
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
******************

補足日時:2005/12/20 11:37
    • good
    • 0

普通はそのやり方で問題ありません。



やはり、コードの記述に問題があるのでしょう。
    • good
    • 1

詳細はコードを見ないと分かりませんが、ボタンにフォーカスが移った状態でセルを直接セレクトしようとしたらその手のエラーが出ることがあったような気がします。


先にその該当セルが含まれるシートをアクティブにするとかの手順が必要かもしれません。

Workshees(1).Activate
Cells.Select
こんな感じで

この回答への補足

ご回答ありがとうございます

今回はシートセレクトでシートはアクティブにしているのですが?
*********マクロの抜粋**********
製番の作成----------------
Sheets("抽出原本 (2)").Select

Cells.Select ’"ここでエラーとして止まってしまう"
With Selection
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
*******************************

補足日時:2005/12/20 11:31
    • good
    • 0

No1です。



やはりコードの問題です。

Sheets("抽出原本 (2)").Select
ActiveSheet.Cells.Select

としてみてください。
ただのCellsでは、コマンドボタンを配置したシートのセルとなり、Sheets("抽出原本 (2)").Selectしてるのでエラーになったのです。
    • good
    • 0
この回答へのお礼

ありがとうございます
何とかなりそうです

お礼日時:2005/12/21 11:27

Cells()はオブジェクトの指定を省略すると、アクティブシートのセルのことになり(この場合はボタンが配置されているシート)、またアクティブではないシートのセルをselectできませんのでそのような状況になります。



対策としてはそもそも不要なselectはしないという手もお薦めです。
コード的にもシンプルになりますし動作もはやくなります。
見本
With Sheets("Sheet2").Cells
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
End With
    • good
    • 0
この回答へのお礼

ありがとうございます
何とかなりそうです

お礼日時:2005/12/21 11:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています