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
を管理者で開く。

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のプロセスがファイルをつかんでいた。

Exceファイルの起動が異常に遅い

デフォルトプリンタに問題があり、そこに時間がかかっていた。
どのプリンタを使うかはExcelファイルごとに保存されるが、存在しない場合デフォルトプリンタになる。

外部リンクの削除

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

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

VBA 入力規則

最終行の見つけ方

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

VBAの場合

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

オブジェクトの見つけ方

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

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

VBAの場合

 

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

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

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

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

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

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

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

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

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

このような場合。

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

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

循環参照の見つけ方

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

クイック修復

appwiz.cpl>Microsoft Officexxx>変更>クイック修復
クイック修復だとプロダクトキーは不要。

自動回復

C:\Users\xxx\AppData\Roaming\Microsoft\Excel