
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
連続する複数のセル値がすべて0...
-
セルの結果でマクロ実行
-
エクセルマクロでアニメを作る...
-
”戻り値”が変化したときに、マ...
-
vb.netによるEXCEL値取得
-
DataGridViewの各セル幅を自由...
-
ExcelVBAを使って、値...
-
Excel vbaで特定の文字以外が入...
-
【Excel VBA】C列に"非表示"と...
-
VBA ユーザーフォーム ボタンク...
-
エクセルVBAで、シート上で結合...
-
【EXCEL VBA】Range("A:A").Fi...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBA実行後に元のセルに戻りたい
-
プラスの数をマイナスにしたい...
-
DataGridViewで右寄せ左寄せが...
-
vba 隣のセルに値がある行だけ...
-
指定文字以外のカウント
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
VBA実行後に元のセルに戻りたい
-
i=cells(Rows.Count, 1)とi=cel...
-
任意フォルダから画像をすべて...
-
【Excel VBA】指定行以降をクリ...
-
エクセルvbaで、別シートの最下...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
Excelのプルダウンで2列分の情...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
VBA ユーザーフォーム ボタンク...
-
TODAY()で設定したセルの日付...
-
VBからEXCELのセルの値を取得す...
-
特定行の色を変えたい(FlexGrid)
-
ExcelのVBAで数字と文字列をマ...
-
Excel vbaで特定の文字以外が入...
-
VBA初心者です。結合セルを保持...
おすすめ情報