Excel 不具合関連

毎回検索しているのでメモ。

・アプリの修復実行

これで直ったことはないので、あまり実行しない。

アプリの修復はライセンス認証が発生するので、プロダクトキーが手元にあるか確認してから実行。

・Excelの更新を実行
ファイル>アカウント>Office更新プログラム

・マルチスレッド、グラフィックアクセラレータを止めると環境によっては安定する場合がある。通常は止めない。

ファイル>オプション>詳細設定>表示
ハードウェアグラフィックアクセラレータを無効にする(環境保存)

ファイル>オプション>詳細設定>全般
マルチスレッド処理を有効にする(環境保存)

ファイル>オプション>詳細設定>数式
マルチスレッド計算を行う
(ブック依存なのでブック保存が必要)

・ファイル(ブック)が開かない場合

タスクマネージャーからExcelを終了すると直ることが多い。

・VBAが実行できない(保護ビュー)

ファイル>オプション>トラストセンター>トラストセンターの設定
保護ビュー

保護ビューの項目をすべて外す。

・VBAが実行できない(マクロブロック)

オプション>トラストセンター>トラストセンターの設定>マクロの設定
VBAマクロを有効にする

このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。
と表示された場合。

・ローカルにあるファイルなら、
ファイル右クリック>プロパティ>許可するにチェックしてOK

・オンライン(共有)にあるファイルなら、
Excelオプション>トラストセンター>トラストセンターの設定>信頼できる場所>新しい場所の追加
からブックの保存してある場所を追加する。

ここはIPアドレスは追加できず、ホスト名で登録しても、IPアドレスでアクセスするとブロックされる。

——————————————————–

IPアドレスしかアクセスできない場所の場合

control>インターネットオプション>セキュリティ>信頼済みサイト>サイト
に登録する。

2023年5月現在。inetcpl.cplから信頼済みサイトに登録してもipアドレスだとアクセスできない場合がある。その場合~

C:\Windows\System32\drivers\etc\hosts
を管理者で開く。

powershell -NoProfile -ExecutionPolicy unrestricted -Command “start notepad C:\Windows\System32\drivers\etc\hosts -verb runas”

IPアドレス server名
適当なサーバー名で追加する。

ファイル>オプション>トラストセンター>トラストセンターの設定>信頼できる場所>新しい場所の追加
から追加したサーバー名を追加する。
(サブフォルダも許可する)

~ここまで

Excel 信頼済みサイト登録(レジストリ)

ファイルまでのパスに㈱という文字があったら開けなかったので、パスの中の文字列が原因の場合もある。

・~$(チルダドルファイル)

誰が開いているか通知する機能がおかしくなった場合、~$(チルダドルファイル)の問題が考えられるので、
エクスプローラ>表示>オプション>フォルダーと検索のオプションの変更>表示>保護されたオペレーティングシステムファイルを表示しない
のチェックを外し、Excelの終了と同時に削除されるか確認する。

今回は、HS属性が外れてしまった~$(チルダドルファイル)が自動で削除されずそのまま他の人が再利用してしまう(実際開いている人とは違う名前が表示されてしまう)という状態。
NAS上にあるExcelファイルだったので、VPNが切れたかExcelが落ちたかしたことが発症のきっかけだったのだけど、手動で~$(チルダドルファイル)を削除しても症状が直らず、ネットワークキャッシュ(SMBキャッシュ)を無効化したら直った。

Windows 不具合関連

PowerShell ~$ファイル(Excel)移動

・保存ダイアログが表示されない(変更内容を保存しますか?)

アドインが悪さをしていることが多く、今回は、
Acrobat PDFMaker Office COM Addin
が原因だった。

保存しているはず(たぶん)なのに保存されていないという症状がでて、
今回はアドインは読み込んでいなかった。
オプション>保存>キャッシュファイルの削除の実行
(ファイルを閉じたときに … 削除するにチェック)
で一応症状が落ち着いた。
ただし、これは原因がはっきりしないので勘違いかも。

・使用者は’ほかのユーザ’ですと表示されてしまう

Aが開いていてBが通知を受け取ることにした。AがExcelを閉じてもBに通知が行かなかった(もしかしたら通知は行ったけど、Bが開かなかったのかも)Bは他のExcelファイルを開いていてExcelのプロセスが生きている状態。これで~$は削除されているし、該当のExcelファイルは誰も開いていないけど、BのExcelのプロセスがファイルをつかんでいた。

・外部リンクの削除

数式で[を検索する
あるいは、
データ>リンクの編集>リンクの解除

検索しても見つからない、編集からも解除できない場合、
プルダウンに存在する場合がある。
データ>データの入力規則

VBA 入力規則

・最終行の見つけ方

Ctrl + End
Ctrl+G>セル選択>最期のセル

VBAの場合

行削除でスクロールバーのサイズが戻らない場合、オブジェクトが存在している場合あり。

・オブジェクトの見つけ方

動作が遅い(重い)場合、これが原因のことが多い。

ホーム>検索と選択>オブジェクトの選択と表示

VBAの場合

 

・短くなったスクロールバーのリセット

最期のセルの位置を修正し、A1などを選択し保存+閉じる。

・最終行まで続く罫線の消し方

(罫線が最期のセルになっていることも多い)

行削除しても下から復活するような罫線は、該当のカラム(A、Bなど)を選択して罫線を「なし」にする。

1行から1048576行まで縦の罫線を引いている場合でも、下からある程度の罫線をクリアすれば行削除しても復活しなくなる。

・改ページプレビューを標準に戻す

シートが多い場合で、改ページプレビューにしていると重いことがある。

・コードの自動実行を止める

このような場合。

Shiftを押しながら開くのは、
ファイル>開く>参照
で表示されるファイルを開くダイアログで実行する必要がある。

MsgBoxが表示される場合なら、表示されたときにCtr+Breakでも止められる。

・循環参照の見つけ方

数式>エラーチェック>循環参照