SSブログ

Excel2000 VBA メッセージボックスでは表示しきれない文字列ををリストボックスに表示 [Excel2000 VBA独習]

Excel2000 VBA  選択セル値と重複する列範囲の重複文字列をリストボックスに表示

作った理由
メッセージボックスで表示が途切れて全てを表示できない事があったので、全部分を表示できるようにフォームのリストボックスを利用す
(応用範囲は広いかも)
excelVBA_msgbox.jpg

excelVBA_listbox.jpg

上図のようにD列のマイカテゴリー列の「その他」のセルを選択してからマクロ実行する
マクロを実行しC列のタイトルから一覧をフォームのリストボックスに表示する

事前にフォームを作成する

Sub セル値の列範囲での重複を調べる()
'選択セル値を調べ、列範囲から重複を調べ左側のセル値をリストボックスに追加
'

Dim columnNO, end_row, celCount As Long
Dim strR, buf As String
Dim hani, newR As Range

'選択セルの値を調べる
    strR = Selection
'選択セルの列番号
    columnNO = Selection.Column
'選択セル列の最終行
    end_row = Cells(65536, columnNO).End(xlUp).Row
'検査範囲
    Set hani = Range(Cells(2, columnNO), Cells(end_row, columnNO))
'重複個数
    celCount = WorksheetFunction.CountIf(hani, strR)
'ユーザーフォームの1行目(選択セルの値と個数)と2行目を設定(空白)
    UserForm2.ListBox1.AddItem strR & "  " & celCount & "個"
    UserForm2.ListBox1.AddItem "     "
'選択セル値と同じ値の重複セルを調べ、セルの左側の値をリストボックスに追加
    For Each newR In hani
        If newR = strR Then
            UserForm2.ListBox1.AddItem newR.Offset(0, -1).Value
            UserForm2.ListBox1.AddItem "  "
        End If
    Next newR
'set解除
    Set hani = Nothing
'ユーザーフォームを表示
    UserForm2.Show

End Sub

 


タグ:Excel2000 VBA
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。