• ベストアンサー

VBA ”あかさたなはまやらわ”で選択、リスト表示

よろしくお願いします。 ユーザーフォームのコマンドボタン1をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 あいうえお(カタカナも含む)を選択してリストボックス1に リストとして表示する。 同じように ユーザーフォームのコマンドボタン2をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 かきくけこ(カタカナも含む)を選択してリストボックス1に リストとして表示する。 以後同じようにして”わ”まで繰り返す。 【A行の最終行は可変します】

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.2

> ⇒ For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row ⇐ > この部分でエラーが出ます。 すみません、変更するのを忘れてました With Sheet1 を With Sheets("Sheet1") に変更してください。

1211M
質問者

お礼

kkkkkm様 早い回答ありがとうございました。 思い通りにできました. 今後もよろしくお願いします。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.1

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

1211M
質問者

補足

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

関連するQ&A