Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51742 / 76732 ←次へ | 前へ→

【29851】Re:コンボボックスから抽出
回答  Jaka  - 05/10/14(金) 17:27 -

引用なし
パスワード
   こんな感じに作っていってください。

10月分の番号2で、当座預金の物をオートフィルタしたとして、これをマクロ記録すると「Macro1」になります。
これを明確に手直しをし、表示されている部分だけを選択するように手を加えると「Macro2」のようになります。

Sub Macro1()
  Selection.AutoFilter Field:=1, Criteria1:=">=2005/10/1", Operator:=xlAnd _
    , Criteria2:="<=2005/10/31"
  Selection.AutoFilter Field:=2, Criteria1:="2"
  Selection.AutoFilter Field:=4, Criteria1:="当座預金"
End Sub

Sub Macro2()
  With Sheets(1)
    .AutoFilterMode = False
    With .Range("A1")            '↓10/1〜10/31でも良いけど、
                        '実行した時の年号として扱われます。
      .AutoFilter Field:=1, Criteria1:=">=2005/10/1", Operator:=xlAnd _
                , Criteria2:="<=2005/10/31"
      .AutoFilter Field:=2, Criteria1:="2"
      .AutoFilter Field:=4, Criteria1:="当座預金"
    End With
    With .AutoFilter.Range
       '選択してみました。
       .Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Select
    End With
  End With
End Sub

これで、基本となる物が出来ました。
後は、指定した月の1日から月末の年号(yyyy/m/d)を割り出した物を変数に入れ、
コンボボックスより、番号、借方科目も変数に入れ、オートフィルタのコードに割り当ててやれば良いんです。

Dim 年 As Long, 月 As Long, 月初 As String
年 = Year(Now())
月 = Combo月.List(Combo月.ListIndex)  '変数の型が数値型なので数字の場合、数値に変換してくれます。
月初 = 年 & "/" & 月 & "/1"
月末 = Format(DateSerial(年, 月 + 1, 1) - 1, "yyyy/m/d")
MsgBox 月初 & vbLf & 月末

これでも良いですよ。
Combo月.List = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")
1 hits

【29817】コンボボックスから抽出 琴葉 05/10/14(金) 10:48 質問
【29820】Re:コンボボックスから抽出 Jaka 05/10/14(金) 11:24 発言
【29826】Re:コンボボックスから抽出 琴葉 05/10/14(金) 13:39 質問
【29851】Re:コンボボックスから抽出 Jaka 05/10/14(金) 17:27 回答
【29870】Re:コンボボックスから抽出 琴葉 05/10/15(土) 9:50 質問
【29943】Re:コンボボックスから抽出 Jaka 05/10/17(月) 13:54 回答
【30004】Re:コンボボックスから抽出 琴葉 05/10/18(火) 8:10 お礼
【29876】Re:コンボボックスから抽出 琴葉 05/10/15(土) 11:58 質問

51742 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free