小技集

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



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
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



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



サイト累計閲覧数

1370956

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

Excel完全制覇


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

【Excel】文字列を右詰めで1つ1つの枠に割り当てる

【Excel】カレンダーに休日を反映(VLOOKUP不要)

【ExcelVBA】ON・OFFボタンを開発

【Excel・Googleスプレッドシート】セルの数式を瞬時に確認

【Excel】ユーザー設定リストを使って効率化

【ExcelVBA】マークのある行を削除する

【Excel】スピンボタンでデータ抽出

【ExcelVBA】マークされた行を削除する

【Excel】各商品の最終購入日を表から抽出する

【Excel】指定の倍数で金額を求める(時間にも活用できる)

【Excel】特定の曜日の日付を入力できないようにする

【Excel】数式で週の開始日を求める

【Excel】特定の値の表示非表示を切り替える

【Excel】複数の目標値を自動で計算「ソルバー」

【Excel・Googleスプレッドシート】ExcelファイルをGoogleスプレッドシートで開くと…!?

【Excel】英単語のスペルチェック機能

【Excel】対象月の営業開始日(終了日)を求める

【Excel】指定したセルを別のセルの間に移動する

【Excel】セル参照や数式に名前を付ける「LET関数」

【Excel】テンプレートは便利

【Excel】FILTER関数で複数条件指定

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

【Excel】SWITCH関数で「その他」を表現

【Excel】表の行列を入れ替えて表示する

【ExcelVBA】合格者だけに合格証を発行





一覧ページへ

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