
VBA初心者で簡単なデータベースを作成しています。
ユーザフォームを使って、データを入力します。その中で管理ナンバーを各データに付けているのですが、毎回データの最後の行を探して、入力済みの最後の管理ナンバーを見付けて、それを元に新規データの入力時にナンバリングしております。
そこで、ユーザーフォームを開いた時に、自動的に管理ナンバー(データ行の最後の任意のセルの値)を、管理ナンバーを入力するべきテキストボックスの初期値として表示することは出来ないでしょうか?
宜しくご教授の程、お願いいたします。

No.2
- 回答日時:
こんばんは。
まず最初に列と行の表記が逆です。
ユーザーフォームのInitializeイベントで行います。
Private Sub UserForm_Initialize()
TextBox1.Value = Range("A1").CurrentRegion. _
SpecialCells(xlCellTypeLastCell).Value
End Sub
どうでしょうか。
ご回答有り難うございます。
行と列が逆さまでした。失礼しました。
M-SOFTさんのを参考に、以下のような形を作ってみましたところ、うまく行きました。
Private Sub UserForm_Initialize()
Dim dataf As Long
With ActiveSheet
'データの最後の行を取得する
dataf = .Cells.SpecialCells(xlCellTypeLastCell).Row
TextBox8.Text = .Cells(dataf, 11).Value
End With
End Sub
できれば今後の参考までに、教えていただきたいのですが、
Range("A1").CurrentRegion. _
は、セルA1に有るデータの最終行という意味でしょうか?
S-SOFTさんのものをそっくり使ってもうまく行かなかったので、私の作ったフォームと、何が不具合となっているのか確かめたいので、ご教授いただければと思います。
宜しくお願い申し上げます。
No.1
- 回答日時:
ユーザーフォームを表示(Show)する前にTEXTBOXの値をセットするということでしょうか?
Sheet1のA列の最下行の値をセットするならこんな感じですかね
Sub MacroA()
UserForm1.TextBox1.Value = Worksheets("Sheet1").Range("A65536").End(xlUp)
UserForm1.Show
End Sub
この回答への補足
早速ご回答有り難うございます。
>ユーザーフォームを表示(Show)する前にTEXTBOXの値をセットするということでしょうか?
はい、そうです。
ただ、表示したいセルは、列の最下位ではなく、入力されているデータの最後のtextです。
1 2 3
A Text1 Text2 Text3
B Text4 Text5 Text6
C Text7 Text8 Text9
D(次回の入力行)
の場合、Text9を次回入力フォームのTextBox1に初期値で表示させたいのです。
どうしたらText9を抽出し表示できるかが分かりません。
如何でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
VBAでユーザーフォームにセル値を表示させるには
Visual Basic(VBA)
-
入力済み、選択したセルに連動した行のデータをユーザーフォームで呼び出すには
Excel(エクセル)
-
-
4
UserForm1.Showでエラーになります。
工学
-
5
エクセルVBAでコンボボックスの非表示について
iOS
-
6
Excel VBA でテキストボックスの値をセルA列から検索
その他(プログラミング・Web制作)
-
7
リストボックスの列見出し(ExcelのVBA)
Visual Basic(VBA)
-
8
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
-
9
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
10
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
11
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
12
VLOOKUP関数とテキストボックスの連携
Excel(エクセル)
-
13
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
14
任意で選択したセルをテキストボックスに表示
Excel(エクセル)
-
15
Excel VBA 自動で連番をわりふる
Excel(エクセル)
-
16
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
17
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
【Excel VBA】指定行以降をクリ...
-
5
screenupdatingが機能しなくて...
-
6
Excel VBA、 別ブックの最終行...
-
7
セル色なしの行一括削除
-
8
エクセルvba:自己セルの情報取...
-
9
エクセルの複数データーをダブ...
-
10
EXCELのVBA-フィルタ抽出後の...
-
11
RC表示に変数を入れる
-
12
B列に特定の文字列が入っている...
-
13
Excel vbaで特定の文字以外が入...
-
14
i=cells(Rows.Count, 1)とi=cel...
-
15
Excelのプルダウンで2列分の情...
-
16
ユーザーフォーム内のテキスト...
-
17
【EXCEL VBA】Range("A:A").Fi...
-
18
セルの結果でマクロ実行
-
19
Excelで指定した日付から過去の...
-
20
Excel VBA メール作成について ...
おすすめ情報
公式facebook
公式twitter