UserFormのConboBoxで「○○」を選んで、
UserFormのTextBoxで『あいう』と入力すると、ワークシートに
A B
1 ○○ ××
2 あいう
と表示され、
UserFormのConboBoxで「××」を選んで、
UserFormのTextBoxで『アイウ』と入力すると
A B
1 ○○ ××
2 あいう アイウ
3 : :
と表示されるようにしたいと思います。
以下のプログラムまではできています。
*********************************************
Private Sub UserForm_Initialize()
Dim lasClm As Integer, i As Integer
lasClm = Sheet1.Range("A1").End(xlToRight).Column
For i = 1 To lasClm
ComboBox1.AddItem Sheet1.Cells(1, i).Value
Next i
End Sub
*********************************************
Private Sub CommandButton1_Click()
Select Case ComboBox1.Text
Case Sheet1.Cells(1, 1).Value '「○○」が選択
Sheet1.Cells(2, 1).Value = TextBox1.Text ・・・(1)
Case Sheet1.Cells(1, 2).Value '「××」が選択
Sheet1.Cells(2, 2).Value = TextBox1.Text ・・・(2)
End Select
UserForm1.Hide
End Sub
**********************************************
今は(1)、(2)のように直接セルを指定しているのですが、
この部分を各列(A列、B列)の最終行の値を取得して、
最終行+1のセルに順次TextBoxに入力された値を代入していきたいのですが、
どのようにしたらよいのでしょうか。
しかし、A列とB列は同じように値が増えていくとは限りません。
例)
A B
1 ○○ ××
2 あいう アイウ
3 かきく
4 さしす
となる場合もあるので、A列とB列それぞれの最終行の値を取得したいと思っています。
No.1ベストアンサー
- 回答日時:
こんな感じ?
'*********************************************
Private Sub CommandButton1_Click()
If Me.ComboBox1.ListCount < 0 Then Exit Sub
Sheet1.Cells(65536, Me.ComboBox1.ListIndex + 1) _
.End(xlUp).Offset(1, 0).Value = TextBox1.Text
Unload Me
End Sub
'**********************************************
No.2
- 回答日時:
RangeオブジェクトのプロパティEnd()を使うと、データが入力されてる再終行のRangeオブジェクトを取得できます。
なのでその次のセルを参照すれば良いかと。こんな感じ;Public functiom maxrow( col_idx as Long) as Range
Set maxrow = Cells( 1, col_idx).End(xlDown).Offset(1,0)
End Function
上記の例だと、指定列の1行めにデータがないと、エラーになりますので、ちょっと注意。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
VBA 何かしら文字が入っていたら
-
Worksheets メソッドは失敗しま...
-
URLのリンク切れをマクロを使っ...
-
文字列の結合を空白行まで実行
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAを用いて条件付きの平均値、...
-
セルに値が入っていた時の処理
-
エクセル 2つの表の並べ替え
-
VBAでエラーインジケーターにつ...
-
[ASP+SQL]絞込み済みのレコード...
-
rowsとcolsの意味
-
C#で複数列をもつデータソース...
-
Excel マクロ VBA 別シートのセ...
-
IIF関数の使い方
-
エクセル VBA ユーザーフォー...
-
【VBA】2つのシートの値を比較...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報