ここから本文です

エクセルでユーザーフォームを作成しました。 VBA初心者です。よろしくお願いしま...

kan********さん

2019/4/2317:16:28

エクセルでユーザーフォームを作成しました。
VBA初心者です。よろしくお願いします。
Sheet1にユーザーフォームを表示させました。

Sheet2~Sheet20までの全てのシートに対して、
以下の条件を適用させたいです。

Selection.AutoFilterの部分を
どのように修正すればよいでしょうか?
宜しくお願い致します。

Private Sub CommandButton1_Click()
ft = TextBox1.Text
tt = TextBox2.Text
f = DateValue(ft)
t = DateValue(tt)
sf = Format(f, "yyyy/mm/dd")
st = Format(t, "yyyy/mm/dd")
MsgBox sf & "-" & st
d = Range("A65536").End(xlUp).Row
Range("A1:c100" & d).Select
'-----
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=">" & sf, Operator:=xlAnd, Criteria2:="<" & st
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

閲覧数:
14
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2019/4/2318:00:40

Sheet2~Sheet20というところがちょっとあいまいです。Sheet2は2番目に挿入したシートということなのでここはインデックスが2~20と解釈しています。



Private Sub CommandButton1_Click()
Dim ft As String, tt As String, f As Date, T As Date
Dim sf As String, st As String, i As Long, sh As Worksheet
ft = TextBox1.Text
tt = TextBox2.Text
On Error GoTo er
f = DateValue(ft)
T = DateValue(tt)
sf = Format(f, "yyyy/mm/dd")
st = Format(T, "yyyy/mm/dd")
MsgBox sf & "-" & st
For i = 2 To 20
Set sh = Sheets(i)
With sh.Range("A1").CurrentRegion
.AutoFilter
.AutoFilter Field:=1, Criteria1:=">" & sf, Operator:=xlAnd, Criteria2:="<" & st
End With
Next
Exit Sub
er:
MsgBox "日付の入力が正しくありません"
End Sub

質問した人からのコメント

2019/4/25 21:48:47

ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる