- ベストアンサー
VBA ”あかさたなはまやらわ”で選択、リスト表示
よろしくお願いします。 ユーザーフォームのコマンドボタン1をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 あいうえお(カタカナも含む)を選択してリストボックス1に リストとして表示する。 同じように ユーザーフォームのコマンドボタン2をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 かきくけこ(カタカナも含む)を選択してリストボックス1に リストとして表示する。 以後同じようにして”わ”まで繰り返す。 【A行の最終行は可変します】
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ⇒ For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row ⇐ > この部分でエラーが出ます。 すみません、変更するのを忘れてました With Sheet1 を With Sheets("Sheet1") に変更してください。
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1742/2617)
Private Sub CommandButton1_Click() ListAdd ("[あ-お|ア-オ]*") End Sub この部分をそれぞれ(あ行か行・・・)文字列を変更して必要なだけ作成してください。 以下はフォームモジュールに Sub ListAdd(ByVal StrS As String) Dim i As Long ListBox1.Clear With Sheet1 For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row If .Cells(i, "A").Value Like StrS Then ListBox1.AddItem .Cells(i, "A").Value End If Next End With End Sub
補足
kkkkkm様 早速の回答ありがとうございます。 Sub ListAdd(ByVal StrS As String) Dim i As Long ListBox1.Clear With Sheet1 ⇒ For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row ⇐ この部分でエラーが出ます。 実行時エラー’424’ オブジェクトが必要です 対処方法のご教示をお願いします。 If .Cells(i, "A").Value Like StrS Then ListBox1.AddItem .Cells(i, "A").Value End If Next End With End Sub
お礼
kkkkkm様 早い回答ありがとうございました。 思い通りにできました. 今後もよろしくお願いします。