|
▼kanabun さん:
>▼Excel さん:
>>ワークシートのD列に複数(東京・千葉・埼玉・・)の県が
>>ランダムにある場合ですが、TextBoxに東京と入力しComandBottanを
>>押す事によって東京のみのデータを表示させるにはどうしたらよいでしょうか・・?
>D列先頭の見出しをふくめてD列の全データ範囲を選択して、
>オートフィルタかければいいです。
>
>>また、ワークシートのD列とF列といった複数の列にある場合は・・?
>
>シートにこんなデータがある場合
>
>D列 E列 F列 '<------- 列見出し
>大阪 1 東京
>東京 2 名古屋
>名古屋 3 大阪
>大阪 4 東京
>東京 5 名古屋
>名古屋 6 大阪
>大阪 7 東京
>東京 8 名古屋
>名古屋 9 東京
>
>どこか 空いている列に
>----------------
>D列 F列 '<------- 列見出し
>東京
> 東京
>----------------
>と条件を書き込んでおいて、フィルタオプションの設定で
>DまたはF列 どちらかが「東京」の行を表示できます。
>
>
>>ComandBottanを押してソートをかけたときに東京:何件、千葉:何件とTextBoxに表示させるには・・?
>フィルタかけた状態で、
>ワークシート関数の SUBTOTAL(3,範囲) である列の表示行数が求まります。
>単に、東京:何件
>なら、COUNTIF でもいいですね
仕事上、返事が遅れすいませんでした。本とか読んだりネットなど参考にしましたがうまく動作しません。オートフィルターを使用してと思ったのですが、
日付検索を参考にしましたが、動作しませんでした。
下記のような構文ですが、ワークシートの”DATA”のC列に東京、埼玉・・・
のデータがありTextBox46に東京と入力してCommandButton1で検索して
Listboxに東京のみのデータを表示させたいのですが、うまく動きません。
ご指導お願いします。
Private Sub CommandButton1_Click()
Dim myRow As Long
With Application.WorksheetFunction
If .CountIf(Worksheets("DATA").Range("A2:J100"), Me.TextBox1.Text) > 0 Then
With Worksheets("DATA")
Intersect(.UsedRange, .Columns("A:AX")).ClearContents
End With
Worksheets("DATA").Range("A1").AutoFilter _
Field:=3, _
Criteria1:=">=" & Me.TextBox46.Text, _
Operator:=xlAnd, _
Criteria2:="<=" & Me.TextBox46.Text
Worksheets("DATA").Range("A1").CurrentRegion.Copy Destination:=Worksheets("DATA").Range("A1")
' myRow = Worksheets("DATA").Range("A1").CurrentRegion.Rows.Count
' Me.ListBox1.RowSource = "TEMP!A2:J100" & myRow
Worksheets("DATA").Range("A1").AutoFilter
Else
Exit Sub: Rem textbox1にリストに対する値がなかった場合の処理
End If
End With
With Worksheets("DATA")
IRow = .Range("A" & Rows.Count).End(xlUp).Row + 1
End With
With ListBox1
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "25;55;40;60;"
'.Text = "DATA!A2:J100"
.RowSource = "DATA!A2:J100"
End With
End Sub
|
|