Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

 

VBA と Excel の名前付き範囲を使用して自動消去フォームを作成すると、データ入力タスクが簡素化され、生産性が向上します。データの送信後に入力フィールドが自動的にクリアされるため、複数のレコードを迅速に入力する必要があるデータ入力シナリオに最適です。

このチュートリアルでは、VBA と名前付き範囲を使用して自動クリーニング フォームを作成する方法を示します。

従業員データを受け入れ、そのデータをデータベース シートに保存し、送信後にフォームを自動的にクリアする簡単な従業員情報フォームを作成してみましょう。

ステップ 1:ワークシート構造の設定

  • 新しい Excel ワークブックを開きます。
  • フォーム レイアウトを作成します。
  • Sheet1 の名前を「Form」に変更します。
  • フォーム シートに次のレイアウトを作成します。

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • 各ラベルの隣に、データ入力用の空白セル(B2、B3、B4、B5)を入力します。

データベース シートの設定:

  • 新しいワークシートを挿入し、名前を「データベース」に変更します。
  • 行 1 にヘッダーを作成します:
    • 名前
    • 部門
    • 給与
    • 開始日
    • エントリー日

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

ステップ 2:名前付き範囲の作成

名前付き範囲を使用すると、VBA でのセルの参照が簡単かつ明確になります。すべてのフォーム入力に対して名前付き範囲を作成します。

  • セル B2 を選択します。
  • 名前ボックス (数式バーの左側) に「名前」と入力します。 .
  • Enter を押します。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • セルごとにこのプロセスを繰り返します。
    • B3:部門 という名前を付けます。 .
    • B4:「給与」という名前を付けます。 .
    • B5:StartDate という名前を付けます。 .

名前付き範囲の確認:

  • 数式に移動します タブ>> 名前マネージャーを選択します またはCtrl+F3を押します。 .
  • すべての名前付き範囲が正しく作成されていることを確認します。
  • [閉じる] を選択します。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

ステップ 3:フォーム ボタンの作成

送信ボタンの追加:

  • フォーム シートに移動します。
  • 開発者 に移動します タブ>> 挿入 を選択します>>フォーム コントロールから>> ボタンを選択します .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • セル内にボタンを描画します。
  • プロンプトが表示されたら、マクロに「SubmitandClearForm」という名前を付けます。 .
  • [OK] をクリックします。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • ボタンを右クリックし、[テキストの編集] を選択します。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • フォームを送信してクリアに変更します。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

クリア ボタンの追加:

  • 別のボタンを挿入します。
  • マクロに ClearForm という名前を付けます。 .
  • ボタンのテキストを クリアフォームに変更します。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

注: [開発] タブが表示されない場合は、ファイル から有効にしてください。 → オプションリボンをカスタマイズ開発者にチェックを入れます .

ステップ 4:VBA コードを記述する

  • 開発者に移動します。 タブ>> Visual Basic を選択します。 .
  • メニューから [挿入] をクリックします。>> モジュールを選択します .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • 次の VBA コードをコピーして貼り付けます。

SubmitForm VBA コード:

Sub SubmitandClearForm()
 Dim ws As Worksheet
 Dim dbSheet As Worksheet
 Dim lastRow As Long
 Dim formValid As Boolean
 
 ' Set worksheet references
 Set ws = ThisWorkbook.Sheets("Form")
 Set dbSheet = ThisWorkbook.Sheets("Database")
 
 ' Find the next empty row in database
 lastRow = dbSheet.Cells(dbSheet.Rows.Count, 1).End(xlUp).Row + 1
 
 ' Copy data from form to database
 dbSheet.Cells(lastRow, 1).Value = Range("Name").Value
 dbSheet.Cells(lastRow, 2).Value = Range("Department").Value
 dbSheet.Cells(lastRow, 3).Value = Range("Salary").Value
 dbSheet.Cells(lastRow, 4).Value = Range("StartDate").Value
 dbSheet.Cells(lastRow, 5).Value = Now() ' Entry timestamp
 
 ' Clear the form
 ClearForm
 
 ' Provide feedback
 MsgBox "Employee data submitted successfully!", vbInformation, "Success"
 
 ' Set focus back to name field
 Range("Name").Select
End Sub

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

説明:

  • フォーム シート上の名前付き範囲から入力を取得します。
  • このデータをタイムスタンプとともにデータベース シートの次の行に追加します。
  • ClearForm マクロを呼び出してフォーム フィールドをリセットします。
  • 確認メッセージを表示し、カーソルを「名前」フィールドに設定します。

ClearForm VBA コード:

Sub ClearForm()
 ' Clear all form fields using named ranges
 Range("Name").ClearContents
 Range("Department").ClearContents
 Range("Salary").ClearContents
 Range("StartDate").ClearContents
 
 ' Set focus to first field
 Range("Name").Select
End Sub

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

説明:

  • フォーム シート上のすべてのフォーム フィールド (名前、部署、給与、開始日) の内容をクリアします。
  • データをすばやく入力できるように、カーソルを [名前] フィールドに戻します。

ステップ 6:セルフクリアリングフォームのテスト

  • ワークブックを Excel マクロ有効ワークブック (.xlsm) として保存します。
  • フォームのフィールドにデータを入力します。
  • [フォームを送信してクリア] をクリックします。 .

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • フォーム フィールドは、データをデータベース シートに自動的に送信します。フォーム データを自動的にクリアすると、カーソルが最初のフィールドに戻り、新しいデータ入力の準備が整います。

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • 送信されたデータはデータベース シートに保存されます。

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • さらに、クリアフォームを使用することもできます。 ボタン。送信されたかどうかに関係なく、フォーム データが削除されます。

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

  • カーソルを最初のフィールドに戻します。

VBA と名前付き範囲を使用して自動消去 Excel フォームを作成する

自己決済フォームを使用する利点

  • 効率 :入力を手動で削除する必要がなくなり、時間を節約できます。
  • 精度 :反復的なタスクによる人的エラーを削減します。
  • 利便性 :ユーザー エクスペリエンスとデータ入力速度が向上します。

結論

上記の手順に従うことで、VBA と名前付き範囲を使用して完全に機能する自己消去フォームを作成できます。 Excel フォームは各入力後に自動的に消去され、ワー​​クフローが劇的に向上します。名前付き範囲を使用すると、コードがより保守しやすくなり、理解しやすくなり、また、自己消去機能により効率的なデータ入力ワークフローが確保されます。

ソリューション付きの高度な Excel 演習を無料で入手しましょう!
  1. PowerPointにGIFを配置する方法

    知っておくべきこと Windowsの場合:挿入写真 。 GIFに移動して選択します。 挿入を押します 。 スライドショー現在から... GIFをテストします。 オンライン:挿入写真このデバイス 。 ファイルを選択を選択します 、GIFをダブルクリックして、挿入を押します 。 [ファイルからの画像]。 GIFに移動して選択します。 挿入を押します 。 スライドショー現在から... GIFをテストします。 この記事では、PowerPointプレゼンテーションにGIFを追加する方法と、PowerPointを使用してGIFを検索する方法について説明します。この記事の説明は、PowerPoint

  2. Wordでクロップマークを表示または削除する方法

    このチュートリアルでは、表示の方法について説明します。 またはクロップマークを削除 Microsoft 言葉 。時々、斜めにV字型を見たことがあるかもしれません Word文書の上部、左側、下部、および右側の隅にある線で、それらが何であるか疑問に思っています。これらの線はクロップマークとして知られています。また、Word文書に表示したくない場合は、MSWordにクロップマークを削除または非表示にするネイティブオプションが用意されています。ステップバイステップの説明でそれをお手伝いします。 Wordのクロップマークとは何ですか? MicrosoftWordのクロップマーク。トリムマー