Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : 指定なし)
シートインデックスが勝手に変更される
投稿日時: 22/03/26 14:16:59
投稿者: tom-tetu

シート名 sheet1(表紙) というシート名が勝手に sheet11(表紙)に変更され 別途 sheet1 (名前はない)というシートが残ります、sheet1(表紙)に作成していたコードはsheet1 の中に残ってますが
勝手に変更されたsheet11(表紙)のコード部分は空白のままです、残ったsheet1 は名前もなく削除も出来ません  使用状況はAのPCでマクロを作成し BのPCで使用しUSBで移動していますこのやり取りが問題なのでしょうか  現在 また変更され sheet111(表紙)という名前に変更されました  なぜ?

回答
投稿日時: 22/03/26 15:04:42
投稿者: WinArrow
投稿者のウェブサイトに移動

説明の状況がよくわかりません。
 
まず、どこの画面で、確認しているのでしょうか?

投稿日時: 22/03/26 15:25:51
投稿者: tom-tetu

VBAのエクスプローラー画面で確認しています、再度確認したら上書き保存をして閉じ再度開くと変更されるようです、エクセルのシート画面でシート枚数が増えてる訳ではありません、しかし元々sheet1(表紙)に設定したコマンドボタンのマクロが変更されたsheet111(表紙)にないため実行できません、マクロはsheet1 という名前の無いシートに残っています 別途残っているsheet1の頭についているエクセルマークはシートではなくBookと同じマークです。

回答
投稿日時: 22/03/26 16:00:00
投稿者: WinArrow
投稿者のウェブサイトに移動

確認する場所は、分かりました。
Excelのバージョンが書かれていないので、
こちらの環境で、書きます。
  
Windos10 & Exce2019です。
  
新しいブックを作成した時には
プロジェクトエクスプローラには、
次の2行が表示されています。
>Sheet1(Sheet1)
>Thisworkbook
  
Sheet1のアイコンは、「シート」・・・こちらの実体はシートです。
Thisworkbookのアイコンは、ブック」・・・・こちらの実体はブックです。
  
Sheet1(sheet1)の
Shheet1は、オブジェクト名
カッコ内のSheet1は、シート名です。
  
通常、ワークシート画面でシート名を変更すると
カッコ内のシート名が変更されます。
今回は、「表紙」という名前になっています。
VBEの画面では、オブジェクト名を変更することができます。
  
「Thisworkbook」もオブジェクト名ですから、変更することは可能です。
(普通、変更する人はあまりいないと思います)
勿論、マクロでの変更も可能です。
  
  
説明の内容から推察するに、
「Thisworkbook」のオブジェクト名を変更したのではないかと思います。
手作業で変更したのかもしれません。
マクロの中で変更しているかもしれません。
確認してみてください。
勝手にオブジェクト名が変更されることはないと思いますよ!

投稿日時: 22/03/26 16:15:12
投稿者: tom-tetu

確認してみます、OS11ーExcel2019  
VBA内の 標準・プライベート・ユーザーフォーム・各オプションコマンド内のステートメント チェックしてみます、全て自作ですが、以前のものをコピペした部分も有りますのでしくじったかも。
 

投稿日時: 22/03/26 16:35:35
投稿者: tom-tetu

 チェックに少し時間がかかるかもしれません 念のため VBAでのシート・ブックの削除方法を教えてください sheet1にはnameがありませんので、インデックスで指定することも可能ですか、自己責任で挑戦しようかと思います。

回答
投稿日時: 22/03/26 16:39:18
投稿者: simple

ネットを検索しましたら、同じ事象がありました。
 
「EXCEL シートモジュールのあるブックを保存後、再度開いたときにシートモジュールが別のシートに移動する」
https://answers.microsoft.com/ja-jp/msoffice/forum/all/excel/028b7d7c-a3f8-4683-a687-594c77cd6b80
参考にしてください。

回答
投稿日時: 22/03/26 16:42:04
投稿者: simple
回答
投稿日時: 22/03/26 16:51:08
投稿者: WinArrow
投稿者のウェブサイトに移動

tom-tetu さんの引用:

 チェックに少し時間がかかるかもしれません 念のため VBAでのシート・ブックの削除方法を教えてください sheet1にはnameがありませんので、インデックスで指定することも可能ですか、自己責任で挑戦しようかと思います。

 
 
>sheet1にはnameがありません
プロパテイウィンドウで、Nameは確認できると思います。
 
「Sheet1」になっている「Thisworkbook」は、削除できません。
 
また、「(表紙)」となっているシートは、VBEでは削除できません。
シートは、ワークシート画面で削除します。
但し、最低1つ必要なので、1つしかない場合は、削除できません。
 
元Thisworkbookは、オブジェクト名を手作業で変更可能です。

回答
投稿日時: 22/03/26 18:22:06
投稿者: WinArrow
投稿者のウェブサイトに移動

simple さんの引用:

ネットを検索しましたら、同じ事象がありました。

 
このような事象は未経験なので、的確なアドバイスができず申し訳ありません。
 
紹介URLの内容を拝見すると、
新しいブックに移行する方法でできそうな感じがします。
試してみると価値はありそうです。

投稿日時: 22/03/26 21:41:02
投稿者: tom-tetu

とにかく手探りで取り組んでみます、VBAは達成感を楽しめるツールなので意外と面白い発見あるかも!