毎回検索しているのでメモ。
動作が不安定な場合
・アプリの修復
アプリの修復はライセンス認証が発生するので、プロダクトキーが手元にあるか確認してから実行。
・ファイル(ブック)が開かない場合
taskmgr
からエクセルを終了すると直ることが多い。
・マルチスレッド、グラフィックアクセラレータ
環境により止めると安定する場合がある。
ファイル>オプション>詳細設定>表示
ハードウェアグラフィックアクセラレータを無効にする(環境保存)
ファイル>オプション>詳細設定>全般
マルチスレッド処理を有効にする(環境保存)
ファイル>オプション>詳細設定>数式
マルチスレッド計算を行う
(ブック依存なのでブック保存が必要)
・保護ビュー
特にVBAで保護ビューが悪さをする場合もある。(自動実行されない等)
ファイル>オプション>トラストセンター>トラストセンターの設定
保護ビュー
保護ビューの項目をすべて外す。
・~$ファイル
誰が開いているか通知する機能がおかしくなった場合、~$ファイルの問題が考えられるので、
>エクスプローラ>表示>オプション>フォルダーと検索のオプションの変更>表示
保護されたオペレーティングシステムファイルを表示しない
のチェックを外し、エクセルの終了と同時に削除されるか確認する。
※以前あったのは、~$ファイルが自動で削除されずそのまま他の人が再利用してしまう(実際開いている人とは違う名前が表示されてしまう)という状態。NAS上にあるエクセルファイルだったので、おそらくエクセルが落ちたことが発症のきっかけだったのだけど、手動で~$ファイルを削除しても症状が直らず、ネットワークキャッシュ(SMBキャッシュ)を無効化したら直った。
特定のシートが重い場合
・外部リンク
数式で[を検索する
あるいは、
データ>リンクの編集>リンクの解除
検索しても見つからない、編集からも解除できない場合、
プルダウンに存在する場合がある。
データ>データの入力規則
・最終行
Ctrl + End
Ctrl+G>セル選択>最期のセル
マクロの場合
1 2 3 4 5 |
Sub test1() For Each w In Sheets Debug.Print w.Name, w.Cells.SpecialCells(xlLastCell).Row Next w End Sub |
行削除でスクロールバーのサイズが戻らない場合、オブジェクトが存在している場合あり。
・オブジェクト
これが原因のことが多い。
ホーム>検索と選択>オブジェクトの選択と表示
マクロの場合
1 2 3 4 5 6 7 8 9 10 11 |
Sub test2() For Each w In Sheets Debug.Print w.Name, w.Shapes.Count Next End Sub Sub test3() For Each s In ActiveSheet.Shapes s.Delete Next End Sub |
・短くなったスクロールバーのリセット
最期のセルの位置を修正し、A1などを選択し保存+閉じる。
・最終行まで続く罫線の消し方
(罫線が最期のセルになっていることも多い)
行削除しても下から復活するような罫線は、
該当のカラム(A、Bなど)を選択して罫線を「なし」にする。
※1行から1048576行まで縦の罫線を引いている場合でも、
下からある程度の罫線をクリアすれば行削除しても復活しなくなる。
・改ページプレビューを標準に戻す
シートが多い場合で、改ページプレビューにしていると重いことがある。
コードの自動実行を止める
1 2 3 |
Sub auto_open() ThisWorkbook.Close End Sub |
このような場合。
Shiftを押しながら開くのは、
ファイル>開く>参照
で表示されるファイルを開くダイアログで実行する必要がある。
MsgBoxが表示される場合なら、表示されたときにCtr+Breakでも止められる。
その他
・循環参照の見つけ方
数式>エラーチェック>循環参照