ボタン、フォーム、隠しロジックを備えた機能的なミニアプリを Excel で構築する
Excel は、明確な書式設定、非表示のロジック レイヤー、ボタン、フォーム、動的な対話機能で構造化されている場合、ミニ アプリ プラットフォームに変わります。ボタン、フォーム コントロール、隠しロジックを組み合わせることで、データ入力、ダッシュボード、プロセス追跡のための対話型ツールを構築できます。
このチュートリアルでは、ボタン、フォーム、隠しロジックを使用して Excel を基本アプリに変える方法を示します。
ステップ 1:アプリの機能を計画する
Excel をアプリに変えるには、何をしたいのか、アプリで何を行うのかを計画する必要があります。フォームを使用して注文を受け付け、注文データを保存するアプリを作成すると仮定します。
そのためには、次のシートを作成します。
- ホーム: 大きなボタン(「注文の追加」、「注文データ」、「ダッシュボード」)を備えたすっきりとしたランディング ページ
- 形式: [注文を送信] ボタンを使用したユーザー向けの入力 (ドロップダウン、日付、数値フィールド)
- 注文データ: すべてのレコードを保存する単一の Excel テーブル (データベースと考えてください)。
- ロジック: ヘルパー テーブル、名前付き範囲、検証ルール、ID カウンターの非表示シート。
- ダッシュボード: 必要に応じて、ロジック シートから入力された小さな KPI カードやグラフを含む売上データからダッシュボードを作成できます。
ステップ 2:オーダー フォーム シートを作成する
- 注文フォームという名前の新しいシートを作成します。 .
- 列 A に、次の入力ラベルをリストします:
- 注文 ID
- 日付
- カテゴリ
- 製品
- 単位
- 単価
- 合計金額

- 列 B では、入力用に空のセルを残しておきます。
- フォームを適切にフォーマットします:
- 列幅を調整します。
- セルの境界線を追加します。
ステップ 3:フォーム コントロールを追加する
フォームを動的かつインタラクティブにするには、ドロップダウン リストを使用します。ロジック シートに、カテゴリ、製品、価格などのすべての情報をリストします。次に、フォーム コントロールで使用する名前付き範囲を作成します。
名前付き範囲の作成:
- 製品名を含むカテゴリをリストします。
- 数式に移動します タブ>> 名前マネージャーを選択します>> 新規を選択します .
カテゴリ:
- 名前: カテゴリ。
- 参照先:

製品:
- カテゴリと製品を選択します。
- 数式に移動します タブ>> [選択範囲から作成] を選択します。 .
- 一番上の行を選択します。 .
- [OK] をクリックします。 .

単価 :
- 製品名と価格を選択します。
- 数式に移動します タブ>> [選択範囲から作成] を選択します。 .
- 左の列を選択します。 .
- [OK] をクリックします。 .

ドロップダウン リストの作成:
カテゴリ:
- セル B4 を選択します。
- データ に移動します。 タブ>> データ検証を選択します .
- [許可 ] の下で>>リストを選択します .
- ソース: 名前付き範囲を挿入します。
- [OK] をクリックします。 .

製品:
- セル B5 を選択し、依存ドロップダウン リストを作成します。
- データ に移動します。 タブ>> データ検証を選択します .
- [許可 ] の下で>>リストを選択します .
- ソース: 次の数式を挿入します。
- [OK] をクリックします。 .

- カテゴリに基づいて商品を選択できます。
単位:
- セル B6 を選択します。
- データ に移動します。 タブ>> データ検証を選択します .
- [許可 ] の下で >>リストを選択します .
- ソース: リストを 10 個まで挿入します。
- [OK] をクリックします。 .

単価:
- セル B7 を選択します。
- データ に移動します。 タブ>> データ検証を選択します .
- [許可 ] の下で >>リストを選択します .
- ソース: 次の数式を挿入します。
- [OK] をクリックします。 .
=INDIRECT(SUBSTITUTE(B5, " ", "_"))

- これは依存関係のあるドロップダウン リストです。
- 商品に基づいて価格を選択できます。
送信ボタンを追加します:
- 開発者 に移動します。 タブ>> 挿入 を選択します>> ボタンを選択します フォーム コントロールから .
- フォームの下にボタンを描画します。
- 「注文の送信」という名前を付けます。 .

- 今はそのままにしておきます。ステップ 5 でマクロを割り当てます。
ステップ 4. 注文データベースとダッシュボード シートを作成する
- OrderData という名前の新しいシートを追加します。
- 行 1 に次のヘッダーを追加します。
- 注文ID
- 日付
- カテゴリ
- 製品
- 単価
- 単位
- 合計金額

- バックエンドをユーザーから遠ざけるために、後でこのシートを非表示にします。
ステップ 5:VBA ロジックを追加する
次に、VBA コードを使用して、注文データ シートのフォーム データを送信します。この VBA コードは、フォーム データをデータベースにコピーし、次のエントリのためにフォームをクリアします。
- SubmitOrder を右クリックします。 ボタン>> マクロを割り当てる >> [新規] をクリックします。 .

- 次のコードを挿入します。
Sub SubmitOrder()
Dim wsForm As Worksheet, wsDB As Worksheet
Dim nextRow As Long
Dim lastOrderID As String
Dim newOrderNum As Long
Set wsForm = ThisWorkbook.Sheets("Order Form")
Set wsDB = ThisWorkbook.Sheets("OrderData")
' Find the next empty row in the database
nextRow = wsDB.Cells(wsDB.Rows.Count, "A").End(xlUp).Row + 1
' Get last order ID (skip header)
If nextRow = 2 Then
' No orders yet ? start from 1001
newOrderNum = 1001
Else
lastOrderID = wsDB.Cells(nextRow - 1, 1).Value ' e.g., ORD-1005
newOrderNum = CLng(Replace(lastOrderID, "ORD-", "")) + 1
End If
' Save the current order to database
wsDB.Cells(nextRow, 1).Value = "ORD-" & newOrderNum
wsDB.Cells(nextRow, 2).Value = wsForm.Range("B3").Value ' Date
wsDB.Cells(nextRow, 3).Value = wsForm.Range("B4").Value ' Category
wsDB.Cells(nextRow, 4).Value = wsForm.Range("B5").Value ' Product
wsDB.Cells(nextRow, 5).Value = wsForm.Range("B6").Value ' Units
wsDB.Cells(nextRow, 6).Value = wsForm.Range("B7").Value ' Unit Price
wsDB.Cells(nextRow, 7).Value = wsForm.Range("B8").Value ' Revenue
' === Safe clear: only values ===
Application.EnableEvents = False
wsForm.Range("B3").Value = vbNullString
wsForm.Range("B4").Value = vbNullString ' Category (keeps DV)
wsForm.Range("B5").Value = vbNullString ' Product (keeps DV)
wsForm.Range("B6").Value = vbNullString ' Units (keeps DV)
wsForm.Range("B7").Value = vbNullString ' Unit Price (keeps DV)
wsForm.Range("B8").Formula = "=B6*B7" ' Restore Revenue formula
Application.EnableEvents = True
' Generate the next Order ID for the next entry
wsForm.Range("B2").Value = "ORD-" & (newOrderNum + 1)
MsgBox "Order submitted successfully!", vbInformation
End Sub

説明:
- オーダー ID は送信されるたびに自動的に増加します。
- データベースが空の場合、最初の送信は ORD-1001 から始まります。
- 各クリック後:
- マクロは最後に保存された注文番号をチェックします。
- 1 ずつ増加します。
- フォームの B2 に次に利用可能な ID を入力します。
- 数式やデータ検証ではなく値のみがクリアされるため、次のエントリは新たに開始されます。
ステップ 6:ダッシュボード シートを作成する
これで、注文データに基づいてダッシュボードを作成できるようになりました。
- KPI を作成する: 合計注文数、売上高、販売数、平均注文額などを計算する
- グラフの挿入: 動的チャートを作成するか、ピボットグラフを挿入します。

ステップ 7:シートをフォーマットしてアプリの外観を与える
ホームページの作成:
- 挿入 に移動します。 タブ>> イラスト を選択します>> 図形 を選択します .
- ボタンを選択します .
- ボタンをセルにドラッグします。

- 図形を右クリック>> リンク を選択します .

- [このドキュメントに配置] を選択します。>> シートのセルを選択します (ナビゲーション ボタン、コードなし)。
- 注文フォームを選択します .
- [OK] をクリックします。 .

- 同様の手順に従って、Dashboard シートと OrderData シートへのハイパーリンクを挿入します。
- セキュリティ上の理由から、後で注文データをロックします。

ロジックを非表示にする:
Excel をアプリのように動作させるには:
- シートを選択します。
- 右クリック>> [非表示] を選択します。 .

- 入力セルのみを変更できるようにオーダー フォーム シートを保護します。
- ビューに移動します タブ:
- 数式バーのチェックを外します .
- グリッド線のチェックを外します .
ステップ 8:注文アプリをテストする
- 注文例を入力します:
- 注文 ID: 注文 ID が自動入力されます。
- 日付: 日付「2025/3/1」を挿入
- カテゴリ: ドロップダウン リストからカテゴリを選択します。
- 製品: 依存関係のドロップダウンから [マウス] を選択します。
- 単位: リストからユニット番号を選択します。
- 単価: 依存関係のドロップダウンから価格を選択します。
- 収益: 自動計算されます。
- [注文を送信] をクリックします。 .

- 次の注文 ID が自動的に表示されます。
- フォームは次の注文のためにクリアされます。
- フォームの送信が成功すると、メッセージ ボックスが表示されます。
- [OK] をクリックします。 .

- OrderData シートを確認します。エントリは自動的にそこに表示されます。

結論
上記の手順に従って、Excel シートをアプリに変換できます。ボタン、フォーム、および非表示のロジックを使用して、動的なアプリを作成できます。このようなアプリのようなツールは、特殊なソフトウェアに投資することなく、データ入力を効率化し、ユーザーのエラーを減らす強力な方法です。クリーンなフロントエンド フォーム、データ検証ドロップダウン、非表示のデータベース シート、および VBA 自動化を組み合わせることで、完全に機能する注文管理システムを作成しました。この設定は、ダッシュボード、概要レポート、さらには Power Query の統合によって拡張して、より高度な分析を行うことができます。
ソリューション付きの高度な Excel 演習を無料で入手しましょう!-
Excel で機密データを非表示にする方法 (5 つの簡単な方法)
この記事では、Excel で機密データを非表示にする方法について説明します。 Excel は、データの保護に関してそれほど重要ではありません。ただし、必要に応じて Excel で機密データを一時的に非表示にする方法がいくつかあります。ここでは、そのような 5 つの方法について説明します。 下のダウンロードボタンから練習用ワークブックをダウンロードできます。 Excel で機密データを非表示にする 5 つの方法 従業員情報を含む次のデータセットがあるとします。電話番号などの機密情報を非表示にする必要がある場合があります。 その方法については、以下の方法に従ってください。 1.カスタム
-
Excel で各月にマーカーを追加する方法 (簡単な手順)
エクセル 強力なソフトウェアです。 Excel を使用して、データセットに対してさまざまな操作を実行できます ツールと機能。さまざまなチャートやグラフを使用して、調査結果を非常に明確かつ効果的に提示できます。多くの企業は、毎月のデータ情報を Excel ワークシートに保存しています。年末には、毎月の記録を見て、どこを改善する必要があるかを分析するのが好きです。月ごとのチャートやマーカーを使って記録を表示することで、視聴者が情報を正しく理解するのに役立ちます。この記事では、マーカーを追加する手順を段階的に説明します。 毎月 エクセルで . 次のワークブックをダウンロードして、自分で練習してく