小技集

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



2023年5月3日【ID:0】

【ExcelVBA】データ登録フォームを開発する


データ登録フォームをVBAを使って開発する場合は、基本的に以下のパターンになります。
※今回の内容は、記事の最後にて配布しています。

①登録フォームを用意する
→今回は簡単に解説するため、同じシート内の1~2行目に用意しています。

②[開発]タブから[マクロ]を選択し、好みの名前で作成する

③以下のコードを入力する

Sub テータ登録()
    
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row + 1
    
    Cells(lastRow, "A").Value = WorksheetFunction.Max(Columns(1)) + 1
    Range(Cells(lastRow, "B"), Cells(lastRow, "C")).Value = Range("B2:C2").Value
        
    Range("B2:C2").ClearContents
    
End Sub

簡単に解説します。

最初の「Dim」は一時的な値を格納する用の部屋を用意しています。(変数宣言)
「lastRow」は作成する部屋の名前(変数名)で、「As Long」が部屋の種類(変数の型)の指定で「Long」という部屋は整数を入れる用の部屋になります。

「lastRow = Cells(Rows.Count, "A").End(xlUp).Row + 1」の「Cells(Rows.Count, "A").End(xlUp).Row + 1」はA列の値が入力されている最終行の1つ下の行番号を取得しています。
その番号を「lastRow」に格納しています。

セルの指定方法はCells(行番号,列番号)とRange(アドレス)、Range(開始のセル情報, 終了のセル情報)などがあります。
「=」で結んでいる場所は、「右辺を左辺に代入する」という意味で読んでいただければと思います。
IF文などの中で使われる場合は、「等号」としての意味になります。

「WorksheetFunction.Max(Columns(1)) + 1」で1列目(A列)の数値の最大値に1を加えた値を取得し、「lastRow」行目のA列に入力しています。

「Range(Cells(lastRow, "B"), Cells(lastRow, "C")).Value = Range("B2:C2").Value」で登録フォーム(B2:C2)の値を「lastRow」行目のB列からC列に入力しています。

最後、「Range("B2:C2").ClearContents」で登録フォーム(B2:C2)の値を削除しています。

④[開発]タブの[挿入]からボタンを作成する

※作成したボタンを編集する場合は、Ctrlキーを押しながらクリックします。

基本は、このようなパターンが多いです。
後は、登録フォームをユーザーフォームにしたりとアレンジしていきます。

VBAの基本的な構文に関しては以下にまとめています。

>Excel基礎(VBA)

▼サンプルファイル▼


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


メンバー募集
1分で読める小技集 1分で読める小技集





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

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


- 人気の記事 -



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



サイト累計閲覧数

2298054

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

Excel完全制覇


ちょっとした機能 便利ツール

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