エクセルVBAや関数の備忘録 1

◆目的:シート名から日付データを生成し、セルに代入。

方法:エクセルの関数を利用

例えば下の図のように月単位の作業日報があったとします。1ファイルに1か月分を入力するとして、日数分だけシート名に「月日」が入力されているとします。そのシート名から関数を用いて日付に変えて表示しようとしました。
VBAもマクロを使わず、アクティブなシート内で実現するにはどこかに2個のセルを用意するだけです。
今回はセル番地「O2」と「P2」に表示していますが、使用していないどこか(赤丸の楕円AでもBでも)に、このセルに埋め込んで文字色を背景色と同一にすれば目立たなくてイイと思います。

マクロウインショット

図1 セルの埋め込み場所

まず、セル番地「O2」にシート名を取得するためのコードを下の欄からコピペしてエクセルのセルに貼り付けます(どこでもよい)。下のコードに「A3」とありますが、これはアクティブなシート内のどれでもよいセルを引数としていますので「A3」でなくてもいいのです。

隣の「P2」セルには「O2」の内容を文字列抽出関数を使って代入しています。それを表示したいセルに引っ張ってくるだけです。※「O2」「P2」のセルは差支えない所(例えばAやBのあたり)に置いて大丈夫です。

上のコードを「P2」セルにしたら、表示したいセル(上の図の青い枠内)に下記のコードを入れれば完成です。

この方法を使えば必要なセルは2つだけです。こんなに簡単に出来るのでぜひ皆さんも使って見て下さい。

▼ ブログランキングに参加しています。よろしかったらポチッとお願いいたします。

にほんブログ村 地域生活(街) 東北ブログ 横手情報へ にほんブログ村 料理ブログ 弁当男子へ にほんブログ村 IT技術ブログ ホームページ・サイト制作支援へ