質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

6192閲覧

エクセルVBAのシート選択時の ”実行時エラー ’32809' "

sobamori

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/07/03 08:31

下記プログラムを実行すると、

Sub test()

Dim wb As Workbook

Set wb = Workbooks.Open("D:\Users\test.xlsm ")

wb.Worksheets(1).Activate

wb.Worksheets(1).Range("C54").Value = wwb.Worksheets(1).Range("C54").Value
wb.Worksheets(1).Range("C54").Copy

End Sub

下記部分で止まり、"実行時エラー ’32809'"が発生します。

wb.Worksheets(1).Activate

このエラーが発生するファイルと、発生しないファイルがあるのですが、
見比べても違いが見られません。

何か御知見があれば御教示いただけ無いでしょうか?

よろしくお願致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mattuwan

2020/07/31 02:59

> 下記部分で止まり、"実行時エラー ’32809'"が発生します。 まず、エラーが出たときは、エラーコードやエラーメッセージそのままで検索してみてください。 大体の事象はすでに誰かが質問して解決方法もわかっているはずです。 あと、エクセルのバージョンもお知らせください。 それから、エラーが出るファイルと出ないファイルのファイルの大きさも教えてください。
guest

回答1

0

下記のように記述するのが通常だと思います。

wwbとはなんでしょうか・・。

マクロを実行したファイルを見失いために、
Thisworkbook.sheets(1).range("XX")
開いたファイルはwb.sheets(1).range("XX")
とするなどして見失わないようにします。

マクロの延長で考えるとselect とかactive copyなどの命令で記述しがちですが

下記のように記述するとよろしいかと思います。

vba

1Sub test() 2 3Dim wb As Workbook 4 5Set wb = Workbooks.Open("D:\Users\test.xlsm ") 6 7Tisworkbook.sheets(1).Range("C54").Value = wb.Worksheets(1).Range("C54").Value 8 9wb.Close savechanges:=False 10 11set wb = nothing 12 13End Sub

投稿2020/07/31 00:58

編集2020/07/31 01:09
mako1972

総合スコア383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問