小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年2月16日【ID:0】

メンバー限定

【ExcelVBA】表の先頭にデータを追加する機能(ノーコード)

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


以下のような表があります。
表の上の登録フォームに値を入力して「登録」ボタンを押すことで、表の先頭行(6行目)に挿入される仕組みをノーコードで実現していきます。


ノーコードでの実現方法

ノーコードで実現するために、こちらでは「マクロの記録」を活用します。
マクロの記録は、[開発]タブの中の[マクロの記録]から行えます。

「マクロの記録」とは、記録を開始してからの操作内容が自動で記録され、自動でVBA(マクロを開発するためのプログラム)を作成する機能になります。
無駄な操作を行うと、その内容まで記録されてしまうため、結果的に処理が重くなったり予期せぬエラーに繋がり兼ねます。
そのため、マクロの記録を開始する際は、予め記録する手順を確認してから行うと良いです。

また、記録された内容を放置すると機能がブラックボックス化(仕組みが分からない状態)します。
そうなると、正しく処理されるという保証がなくなります。
たまたま上手く実行出来ているけど、ある日を境に正しく実行できなくなるということが起こりやすいです。

これは、最近話題のChatGPTにVBAを書かせることに関しても同様です。
内容を理解せずに運用するということは、急に業務が回らなくなるリスクがあるということになります。

そのため、今回の内容に関しては、実質ノーコードで作成しますが、作成されたプログラムの内容についても振り返りたいと思います。


記録する手順を確認する

まずは、記録する手順を確認します。
登録フォームに値が入力されている前提で、どのようにしたら、先頭行にデータが挿入されるかと考えます。

今回は、次のような手順を行います。

①登録フォーム全体を選択し、コピー(Ctrl+C)する

②表の1行目を選択し、右クリックのメニューから[コピーしたセルの挿入]を選択する

③次の画面で[下方向にシフト]を選択し、[OK]で確定する

④再度、登録フォーム全体を選択し、値を削除(Delete)する

⑤登録フォームの日付の項目を選択する

この手順ならば、登録フォームの入力値に関わらず、常に対応ができるかと思います。
最後に、登録フォームの日付の項目を選択した理由は、次のデータの入力へと誘導するためです。


マクロの記録を行う

[開発]タブの中の[マクロの記録]を選択します。

以下の画面にて、開発するマクロの名前(こちらでは「登録」)を入力し、[OK]で確定します。

次に、先ほどの①~⑤の手順を無駄な操作なく行います。
※無駄な操作を行うと、処理が正しく記録されなくなります。

手順が完了しましたら、[開発]タブの中の[記録終了]を選択します。

以上で、マクロが自動で作成されます。


記録したマクロを確認する

記録したマクロは、[開発]タブの中の[マクロ]を選択することで、確認できます。
以下の画面から記録したマクロ名(こちらでは「登録」)を選択して[実行]を選択すると、記録した処理を実行することができます。
また、[編集]を選択すると、記録されたVBA(プログラム言語)の内容を確認することができます。
→VBAの内容についての解説と改善方法については、最後に解説します。

[実行]を選択し、記録した内容が正しく実行できることを確認します。

また、[編集]を選択して確認できるプログラムは以下になります。
※「Option Explicit」は設定によっては表示されません。

ただ、このプログラムには無駄な処理があります。
この無駄な処理によって、実行時に画面がパカパカするかと思います。
後から無駄な処理については解説するため、一度のこのままで実行ボタンを作成していきます。


記録したマクロをボタンに割り当てる

記録したマクロは、好みの図形や画像、ボタンに割り当てることができます。
割り当てることで、その図形や画像、ボタンを選択するだけで、処理を実行することができるようになります。

ボタンを作成するには、[開発]タブの中の[挿入]にある[ボタン]を選択します。
※フォームコントロール内のボタンを選択してください。

選択後は、通常の図形と同じようにボタンを作成することができます。
作成後に、[マクロの登録]という画面が表示されるため、記録したマクロ名(こちらでは「登録」)を選択します。

ボタンの名前に関しては、好みの名前を設定します。
※ボタンを作成後に選択すると、処理が実行されてしまいます。そのため、作成後のボタンを編集する場合は、Ctrlキーを押しながら選択します。

これで機能を開発することができました。


記録したマクロを改善する

記録したマクロの内容を細かく確認し、画面のパカパカに関しても改善していきます。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7420009

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】ピボットテーブルで詳細確認

【Excel】存在しない矢印線の作成方法

【Excel】数式の引数で効率的に複数範囲選択

【Excel】入力値に応じて入力必須項目を変更

【Excel】非表示にした範囲の値をグラフに表示させる

【Excel】上限額を設定して支給額を自動で求める

【Excel】数値を文字列に変換する珍しい関数5選

【Excel】スクロールバーを活用して行の色付け

【Excel】特定のセルに関して自分以外に入力させない

【ExcelVBA】連続した値を一括でセル結合!その逆も可能

【Excel】表の途中の罫線を瞬時に消す方法

【Excel】表の背景色を交互に変更する方法

【Excel】必要な範囲以外を非表示にする

【Excel】表示されているセルのみ集計

【Excel】数式を表の下まで一発でコピー

【Excel】COUNTA関数の落とし穴と対策

【Excel】指定した年月のデータを数式で抽出

【ExcelVBA】選択するだけでデータを別の表に移動

【Excel】特定の条件を満たしたときにメッセージを表示

【Excel】瞬時にコピーするショートカット

【Excel】指定期間の予定表を自動作成

【Excel】設定画面のテキストボックスで矢印キーを使用

【Excel】初回購入日と直近購入日を抽出

【ExcelVBA】Functionで複数の戻り値を設定

【Excel】数式の法則性から間違いを見つける





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ