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

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

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

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

2回答

3657閲覧

VBAでのSheets関数のエラーについて

ep1070s

総合スコア1

VBA

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2020/06/18 00:28

Excel VBAで使用しているマクロのエラーについてです。

文字列の置換のためのリストを、個人用マクロブックから取得するマクロを使っていました。
今まではエラーなく使えていて、特に変更した覚えがないのですが、先日からSheets関数でエラーが出ていて困っています。

原因と解決方法を教えていただけたら幸いです。
どうか宜しくお願いします。

該当のソースコード

ActiveWorkbook.Sheets(1).name

###エラーメッセージ
イメージ説明

試したこと

自分なりに試してみたのたですが、個人用マクロブックのシートをSheetsで取得するときにでエラーが出ていました。

新しいブックのイミディエイトウィンドウで、上記コードはエラーにならないのですが、個人用マクロブックではエラーが出ます。

バックアップを取っていたファイルでも試してみたのですが、同じエラーがでました。
違うフォルダに別名で保存し直したファイルでも試したのですが、結果は変わりませんでした。

補足情報(FW/ツールのバージョンなど)

Excel Microsoft365
個人用マクロブック.xlsm

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

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

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

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

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

ttyp03

2020/06/18 01:18

エラーが関係する行はそれだけですか? nameを別の変数に代入したり、nameに別の変数を代入したりとかはないのですか?
sousuke

2020/06/18 01:39

excelってデコンパイルできない?
kenshirou

2020/06/18 03:20

何か参照設定していますか? それが無効になっていたり、なくなっていたり、破損していたり、ということはないですか?
ep1070s

2020/06/18 04:01

> ttyp03 様 >エラーが関係する行はそれだけですか? はい。 イミディエイトウィンドウで実行しているのはこの行だけです。 そもそものきっかけになったマクロは、他にもコードがあります。 ただエラーの箇所がおかしくないと気づいて、このコードだけで実行しました。 >sousuke 様 VBEにデコンパイルという機能はないようです。 デコンパイルそのものが、私にはよく分からないです・・・ごめんなさい。
ttyp03

2020/06/18 04:05

> イミディエイトウィンドウで実行しているのはこの行だけです。 このコードだけでは何の意味もありません。 削除(コメントアウト)してみては?
ep1070s

2020/06/18 04:07

> kenshirou 様 参照設定は確認しました。 設定が以前より減った気がしましたが・・・忘れがちなランタイムやオブジェクトの参照はチェックが入っていました。 破損もありません。
guest

回答2

0

投稿2020/06/18 01:26

sazi

総合スコア25327

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

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

ep1070s

2020/06/18 03:08

記事の内容的にこちらに該当しそうだと感じました。 記事内のmscomctl.ocxを再登録という方法が私にはわからなく、VB6ランタイムを再インストールしてみました。 結果は変わりませんでした。 ですが、こちらの記事はとても勉強になりました。ありがとうございます。 補足ですが、OSはWin10です。Update前後でエラーがあったわけではないです。
sazi

2020/06/18 03:54 編集

VB6ランタイムですか。。 問題のmscomctl.ocxはoffice配下にあるものなので、対応としてはofficeの再インストールではないかと思います。 調べては無いですけど、レジストリーキーが違うかもしれませんし
ep1070s

2020/06/18 04:29

Officeの再インストールの前に、ブックを手動で全て貼り直したところ、エラーが出なくなりました。 これを解決というのかどうか分からないですが、もっと早く試すべきでした。 ブックの破損だったんでしょうか・・・身に覚えがないです。 次回エラーが出たら、再インストールを試してみようと思います。 勉強不足の私に、色々とありがとうございました。
guest

0

自己解決

新しくブックに手動で全て貼り直したところ、エラーが出なくなりました。
これを解決というのかどうか分からないですが、もっと早く試すべきでした。
ブックの破損だったんでしょうか・・・身に覚えがないです。

投稿2020/06/18 04:31

ep1070s

総合スコア1

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

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

sazi

2020/06/18 04:35

古いバージョンで作成されたものを、貼り付けを行う事で新しいバージョンで再作成されたともみなすことができるので、解決策の一つでは無いかと思います。
ep1070s

2020/06/18 04:43

> sazi 様 ありがとうございます。そう言っていただいたので、自己解決にしようと思います。 自分で質問しておいて自分で閉じるのも、申し訳ない気がして・・・。 最後まで本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問