シーゴの Excel 研究室

タイトル変更しました (旧称:今日を乗り切るExcel研究所)

Excel ファイルを読み捨てたい

不要な Excel ファイルを素早くごみ箱へ捨てる方法を検討します。また、開いている Excel ファイルを自動的に閉じてゴミ箱へ移動するマクロのサンプルプログラムを公開します。

f:id:shego:20170503134117p:plain

増殖する Excel ファイル

Excel は油断していると要らないファイルがどんどん溜まりますね。

「マイドキュメント」フォルダには「Book123.xlsx」のような連番や「○○コピーコピーコピー.xlsx」とかいう謎のファイルが大量に増殖しています。

「デスクトップ」には受信メールの添付 xlsx ファイルや ZIP 解凍した xlsx ファイルなどが散在しています。

Web ブラウザや SNS アプリからダウンロードしたファイルもどこかに保存されていて、閲覧する度に「資料 (2).xlsx」 といった連番が知らないうちに増えていきます。

不要なファイルは削除すればいいのですが、問題は、そのファイルを捨てていいのかどうか、開いて確認してみないと分からないことです。

ファイル内容を見て、「あ、これゴミだ」と思っても、それを閉じてから保存先のフォルダを探しファイルを探して削除するというのも手間で、なにかと後回しになりがちです。

後で溜まった古い Excel ファイルをいっぺんに整理するにしても、まとまった時間が必要です。

そもそもダウンロードした資料やメールに添付された報告書なら、オリジナルがサーバに保存されていて何時でもまた取得できるので、取っておく必要さえありません。

そのようなファイルは見終わったらすぐに削除する習慣を身に付けておきたいものです。

続きを読む

Excel のシート名を取得したい

セルにシート名を挿入する方法、シート名をコピーする方法を検討します。また、シート名をクリップボードにコピー行うマクロを公開します。

f:id:shego:20170503225925j:plain

セルにシート名を設定するには

セルにシート名を表示したいことはよくあると思います。

シートタブからシート名をセルにコピー&ペーストすればいいのですが、それを複数シートでやるのは結構な手間です。

単純にシート名を取得するショートカットや数式に使う関数があってもいいはずなのですが、なぜか Excel には用意されていません。

数式を使う方法をインターネットで検索してみると、CELL()という関数で得られる情報からシート名をなんとか切り出すしかないようです。

シート名を切り出す数式には何種類か考えられるようですが、どれも複雑でとても覚えられるものではありありません。

【シート名取得数式の例】

  • =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
  • =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
  • =REPLACE(CELL("filename", A1),1,FIND("]",CELL("filename", A1)),"")

この数式が何をやっているのか理解したい人は、インターネット上に詳しい解説がみつかりますので検索してみてください。

続きを読む

入力したセルの値をドロップダウンリストに表示したい

手打ちによるデータ入力を効率化するためドロップダウンリストの活用方法を検討します。また、入力済みデータからドロップダウンリストを作成するマクロを公開します。

セルへのデータ入力を効率化したい

手作業で入力作業を進めていると、何度も同じ語句を入力することが多くて、すぐにやっていられなくなります。

作業の効率化のためには、なんとか先に入力した既存データを利用したいところです。

そのための機能の一つにオートコンプリートがあるのですが、これが日本語入力とは相性が悪いようで、無効に設定している人も多いようです。

候補表示のタイミングをユーザがコントロールできればもっと使い勝手のいいものになったと思いますが・・・。

ここでは代わりにドロップダウンリストを使った入力効率化を考えてみます。

続きを読む

複数範囲のセルの結合を一括でやりたい

セル結合を効率的に行う手順を検証します。また、複数範囲のセル結合を一括で処理するマクロを作成します。

f:id:shego:20170507234453p:plain

セルの結合の作業コスト

セルの結合を駆使した美しいレイアウトの Excel 文書を見ると、その作成と運用にかかったコストを想像して軽く目眩がします。

セルを結合すること自体は簡単なのですが、複数個所にもなると1個ずつコツコツと手間と時間のかかる作業になります。

できればセル結合自体を止めたいのですが、現実的にセル結合を駆使した Excel 文書を編集しなければならない状況はよくあります。

セルの結合の操作がもう少し効率よくできる方法があればいいのですが。

続きを読む

印刷範囲の点線の表示を切り替えたい

Excel シートの印刷範囲の「ページ区切り」の点線を消したり表示する方法とマクロを紹介します。

シートの印刷範囲の境界の点線を表示したい

セルの枠線の一部に細い点線が入ることがありすね。

これは印刷した時に1枚の紙に収まるセル範囲の境界を示していて、「ページ区切り」と呼ぶようです。

これが表示されるのは、「印刷プレビュー」や「改ページプレビュー」でシートを表示した後に標準表示に戻った時のシートです。

また、「改ページプレビュー」で自分が動かした青いページ区切りも、標準表示の方で(点線ではなく)細い実線で表示されます。

Excel にはなぜかこのページ区切りの表示/非表示を切り替えるコマンドが用意されていません。

Excel の機能というより、一種の気を利かせたサービスなのでしょう。

確かにまっさらなシートでページ区切りを表示しておくと、印刷時のレイアウトの目安になって助かることもあります。

一方、控えめで微妙に目立たない点線が一度意識するとかえって気になりはじめ、それもなかなか消えてくれないのでイライラのモトになります。

続きを読む