No.3ベストアンサー
- 回答日時:
ANo2です。
>Bシートにマクロボタンを設置して非表示シート(Aシート)のマクロを実行しようとするとBシートでマクロが実行されてしまいます。
No2の回答にも書きましたが、セルの指定にシートを指定していないのではないかと推測します。
マクロ内のCells(x,x)やRange("XX")など部分に、シートの指定を追加してください。
Aシートのセルを意味する場合は
Worksheets("Aシートのシート名").Cells(x,x) といった具合。
たくさんある場合は、
Set shtA = Worksheets("Aシートのシート名") などとしておいて以降は
shtA .Cells(x,x) というような指定方法でもOKです。
Bシートを意味するセル操作も同様にして、それぞれの対象セルを明示してあげれば、思った通りの動作になることでしょう。
ありがとうございます!!
Worksheets("Aシートのシート名").Cells(x,x)を記入したら
無事Bシートから実行することが出来ました。
本当に丁寧に教えて頂いて有難うございます。
No.2
- 回答日時:
Excel2003で確認しましたが、ワークシートを非表示にしていても、そのシート上のマクロは実行できます。
>非表示にすると実行できません。
「実行できません」というエラーがでるのでしょうか?
あるいは、別のエラーになるのでしょうか?
または、実行されているけれど、予想したものと違う結果になるのでしょうか?
マクロの内容が不明ですのでまったくの推測ですが、セルの指定に関してシートをきちんと指定していないと(特にActiveSheetやSheetの指定)意味するシートが変わって、違う結果になる可能性があります。
また、非表示のシートに対して Worksheets("~").Activate などの命令をしても、(当然ながら)そのシートは表示されません。(アクティブにはなるみたい)
もし、特殊な状況で表示状態でないと効かないものがあるなら(ないと思いますが)、ScreenUpdating = Falseにしておいて、非表示を解除して処理を行った上で、再度元に戻せばよいでしょう。
それよりは、そのマクロをシートモジュールではなく、標準モジュール内に記述(移動)するほうがはるかに簡単だと思いますが、シートモジュールでなければならない、理由が何かあるのでしょうか?
Bシートにマクロボタンを設置して非表示シート(Aシート)のマクロを実行しようとするとBシートでマクロが実行されてしまいます。
そして 吹き出しで
目的セルにはアクティブシート上のセルを1つ指定してください。
と出てしまい 実行が中断してしまいます。
標準モジュール内に記述しているのですが何か間違えているのだと思います。
もう少し頑張ってみます。
No.1
- 回答日時:
こんばんは。
マクロがBシートに作られればよいと思うのですが。
Bシート上で、マクロの記録を開始して、Aシートの計算を行ない、Bシートに戻って記録を終了してください。
これでもだめですか。
早い回答ありがとうございます。
マクロをBシート上で記録し Aシートを非表示にするとエラーが出ます。
Aシートは出来るだけ非表示にしたいのです。
今のところ非表示にしたいデーターをセルの非表示という事で
対応していますがいずれBシートから実行したいのでもし他の要領で
Bシートのマクロ実行ボタンから実行できる方法があれば教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Excel(エクセル) excel において、テーブル内にある行番値に従ってデータをその行に割り振るには? 5 2022/05/27 15:17
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
Excelマクロのエラーを解決した...
-
ユーザーフォームに入力したデ...
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
Worksheet_Changeの内容を標準...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー'1004': WorkSheet...
-
VBAで指定シート以外の選択
-
シートが保護されている状態で...
-
【ExcelVBA】全シートのセルの...
-
エクセルのマクロでアクティブ...
-
【エクセル】オプションボタン...
-
Excel チェックボックスにチェ...
-
VBA 存在しないシートを選...
-
ExcelVBA:複数の特定のグラフ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
IFステートの中にWithステート...
-
XL:BeforeDoubleClickが動かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ExcelVBA シート名を複数セルか...
-
XL:BeforeDoubleClickが動かない
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報