TextBoxのデータをsheetに転記する方法

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

TextBoxのデータをsheetに転記する方法

【TextBoxのデータをsheetに転記する方法】

先日、ExcelVBAの勉強を始めたばかりの同僚に聞かれて説明したのですが、まだ本ブログで紹介をしてい無かったので今回ブログに書こうと思いました。

 

ExcelVBAで初めてユーザーフォームでデータを追加する時にぶつかる一つの壁になると思いますが説明を見れば割と理解しやすいコードになっていますのでこの記事が少しでも役に立てれば光栄です。

 

用意するユーザーフォーム

TextBoxのデータをシートに転記する方法という事でユーザーフォームを使用します。今回は下記のようなフォームを用意します。

※Labelの【氏名】と【住所】は特に必須ではありません。

ユーザーフォームについてはこちら

ユーザーフォームについて1ユーザーフォームはExcelVBAの機能として標準設置されています。ユーザーフォームを使えばExcelで作成したと思えないプログラムができます。...
ユーザーフォームについて2【コントロールについて】ユーザーフォームのコントロールについて、VBAのユーザーフォームでは様々なコントロールが用意されています。コン...

データを追加するコード

今回のデータを追加するコードですが、今回はコマンドボタンで登録をするという方法を取ります。

今回使用するコードはこちらになります。

Private Sub CommandButton1_Click()

With Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)

.Offset(1, 0) = TextBox1.Value
.Offset(1, 1) = TextBox2.Value

End With


End Sub

これは本当に最低限データを追加するためだけのコードです。※エラーチェックなどの機能はありません。

 

コードの解説

 

ではコードの解説を始めます。

今回の流れは

  1. Withを使う
  2. データがある最終行を取得する
  3. データを追加する

この3ステップを踏んでいきます。

1.Withを使う

 

まずコードの簡略化をするために【Withステートメント】を使用します。

With

Withステートメントは簡単に説明すると宣言しておいて繰り返すことを簡略することです。

鈴木.歩く
鈴木.走る
鈴木.ジャンプ

という命令を

鈴木は【With】
歩く
走る
ジャンプ
した。【End With】

のようにするイメージになります。

Withステートメントについてはこちら

オブジェクトの命令をまとめる【Withステートメント】オブジェクトの命令をまとめる事ができる【Withステートメント】、オブジェクトの命令をまとめると言われてもいま...

2.データがある最終行を取得する

 

データを追加するにはデータの最終行を取得する必要があります、そのコードがこちら。

With Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)

 

これは【sheet1のA列を下から見ていってデータがある所】で止まるという意味のコードです。

そしてWithでこのコードを宣言しておくことでWithの範囲内ではこのコードは今後不要になります。

 

データの最終行の取得についてはこちら

データのある最終行を取得する方法 データのある最終行を取得する方法もしVBAでデータを登録していくシステムを作りたいと思った場合、データがある最終行を取得し...

 

3.データを追加する

上記のままでは最終行を取得しても、そこにデータを追加するのでは最終行でずっとデータを上書きをし続けるだけになってしまいます。データがある行の下に追加していかないといけないのです。

データの最終行の下を取得するのがOffsetプロパティです。

OffSetプロパティについてはこちら

Withで最終行取得まで省略しているので下記のコードだけでOKです。

.Offset(1, 0) = TextBox1.Value
.Offset(1, 1) = TextBox2.Value
End With

 

このように記述することによって【sheet1のA列を下から見ていってデータがある所の一個下【Offset(1, 0)】のデータはTextBox1のデータ】というコードが完成します。

赤文字がWithのコードです。

まとめ

 

今回のデータの追加のコードはデータを追加するコードの中でよく紹介されているコードです、ExcelVBAを始めたばかりの人は必ずこのコードを通っていくと思います。そして長い期間使用するコードでもありますので是非覚えてExcelVBAをさらに勉強していってください。

※なるべく解りやすく書いたつもりですが解りにくい所がありましたら指摘があれば訂正します。

下にサンプルファイルを用意してありますのでご利用ください。

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です