| 
    
     |  | ▼masui さん: >▼kanabun さん:
 >
 > UserForm検索.TextBox日=2012 が入力されています
 >
 > sht1.Cells(Gyou, Retu) = year(UserForm検索.TextBox日)
 > OR指定で
 > sht1.Cells(Gyou+1, Retu) = UserForm検索.TextBox日
 > としましたがうまくいきません
 > マクロの書き方が違うようです
 > よろしくお願いします
 >
 >
 >>あるいは、検索条件を
 >>
 >>------  E  ----------------
 >>1
 >>2  =YEAR(A2)=2012
 >>3  =LEFT(A2,4)="2012"
 >>
 >>-------------------------------
 >>こんなふうに OR指定 してもいいですね(対象列がA列のばあい)
 
 
 検索対象範囲が 「一覧」シートのA3に列見出しがあり、A4から
 日付けデータがあると仮定します。(つまり日付データは A列のばあい)
 試してないけど、こんな感じですよ
 
 Dim ss As String
 
 'TextBoxの文字列を変数ss にコピーします
 ss = UserForm検索.TextBox日.Text
 
 '「条件」シートの[E1:E3] に検索条件式を記入します
 'A4 は最初のデータセル
 With Worksheets("条件").Range("E1")
 .ClearContents
 .Offset(1).Formula = "=YEAR(一覧!A4)=" & ss
 .Offset(2).Formula = "=LEFT(一覧!A4,4)=""" & ss & """
 End With
 Worksheets("一覧").Range("A3").CurrentRegion.AdvancedFilter _
 Action:=xlFilterCopy, _
 CriteriaRange:=Worksheets("条件").Range("E1:E3"), _
 CopytoRange:=workSheets("項目").Range("A5"), _
 Unique:=True
 
 
 |  |