小技集

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



2025年9月12日【ID:0】

メンバー限定

【ExcelVBA】クリック操作だけで数量を入力

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


数量を管理している表で、よく数量に1を加えたり、1を減らしたりと作業をしている場合、数量のセルに数値を毎回、直接入力するのは大変です。
数量の項目が少ない場合は、スピンボタンなどを活用するのも1つの手ですが、項目数が多い場合は、スピンボタン1つ1つにセルを割り当てるのは大変になります。

ということで、今回は、数量の隣のセルを直接クリックするだけで、数量に1を加えたり、1を減らしたりすることができる仕組みの作り方について解説していきます。

※こちらで開発したファイルは、記事の最後にて配布しています。


1. 開発準備

今回は、数量の隣のセルを右クリックすることで、該当行の数量のセルの値を更新するという仕組みを実装していきます。

まずは、以下の左側の表の、数量の隣のセルにボタンのようなデザインのセルを用意します。

上記では、「セルの書式設定」より罫線と背景色などを設定しています。
また、E列には「<」、F列には「>」という文字を直接入力しています。

ボタンのデザインの用意ができましたら、右クリックすると同時に数量を更新する仕組みを実装していきます。
特定のシートの特定のセルを右クリックすることで何かしら処理を実行するには、該当するシートのシートモジュールを活用します。

シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

選択すると、以下のエディタ画面(VBE)が表示されます。
また、該当するシートのシートモジュールが表示された状態になります。
「Option Explicit」は、VBEの設定内容次第では表示されません。「Option Explicit」についての解説はこちらでは省略します。

次に、該当するシートのセル上で右クリックすると同時に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、シートモジュールの左上のリストから「Worksheet」を選択します。

「Worksheet」を選択すると、自動で「Worksheet_SelectionChange」というプロシージャが表示されます。
このプロシージャは、該当するシート上のいずれかのセルが選択されると同時に処理が実行されるイベントプロシージャになります。

ただ、今回使用するイベントプロシージャは、セル上で右クリックされると同時に処理が実行されるものになります。
そのため、右上のリストから「BeforeRightClick」を選択します。

表示された「Worksheet_BeforeRightClick」というプロシージャを活用します。
「Worksheet_SelectionChange」というプロシージャに関しては削除して問題ないです。


2. コードの記述

以下のコードを記述します。


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

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




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

メンバーとは


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

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


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

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


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





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

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


- 人気の記事 -



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



サイト累計閲覧数

7149043

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

Excel完全制覇


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

【Excel】新関数で「好みの項目」を「好みの順番」で抽出する方法

【ExcelVBA】複数シートの表に一括反映

【Excel】勤務日数を瞬時に求める

【Excel】INT関数とROUNDDOWN関数の違い

【Word】好みの「組み文字」を入力する方法

【Excel】セルの結合を正しく使う

【ExcelVBA】予定表の各日付に1行を追加する

【ExcelVBA】タスク管理表で残タスク数をシート名に自動反映

【Excel】最初に覚えるべき集計関数(7選)

【Excel】シート名などの文字列からその値を参照する数式

【ExcelVBA】各要素のデータ行を自動で挿入

【ExcelVBA】予定表を1週間単位で表示

【Excel】重複を考慮した上位3件を抽出

【ExcelVBA】表の最終行の行番号を取得する方法

【Excel】XLOOKUP関数でスピルを活用

【ExcelVBA】VBAを使ってシートの初期設定を自動化

【Excel】隣接したセルの書式を自動反映させない

【ExcelVBA】複数シートの表を1つにまとめる

【Excel】複数行1データの表から数式で検索&抽出

【Excel】表記を統一する際に便利な関数7選

【Excel】実は数式内にコメントを残せます

【Excel】複数シートを一括修正

【Excel】登録データから未来を予測

【ExcelVBA】チェックボックスを動的に入力(一括チェック)

【Excel】簡易的な検索機能を数式のみで実現





一覧ページへ

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