ユーザフォームのリストボックスに特定の列のデータを重複を許可せず昇順に表示する
 サンプルマクロは、アクティブシートのA列(タイトル要)のデータを
ユーザフォームのリストボックスに重複させず、昇順に表示します。
フォームのコードウインドに記述して実行します。

Sub Sample()

    Dim myValue As Variant
    Dim myRng As Range, myCell As Range
    
    Set myRng = Range(Range("A1"), Cells(Rows.Count, 1).End(xlUp))
    myValue = myRng.Value
    
    Application.ScreenUpdating = False
    
    myRng.Sort Range("A1"), xlAscending, Header:=xlYes
    
    myRng.AdvancedFilter xlFilterInPlace, , , True
    
    With ListBox1
        .Clear
        For Each myCell In myRng.Resize(myRng.Rows.Count - 1).Offset(1) _
            .SpecialCells(xlCellTypeVisible)
            .AddItem myCell.Value
        Next
        .ListIndex = 0
    End With
    
    ActiveSheet.ShowAllData
    
    myRng.Value = myValue
    
    Application.ScreenUpdating = True

End Sub

Excel97/2000



戻る


Excel Word Access VBA! モーグ