Excel VBA質問箱 IV

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

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


51658 / 76738 ←次へ | 前へ→

【29943】Re:コンボボックスから抽出
回答  Jaka  - 05/10/17(月) 13:54 -

引用なし
パスワード
   >4行目か6行目のどちらかがCombo科目.Textであるもの・・・を抽出するにはどうしたらよろしいでしょうか?
違う列の物をOr検出できません。
作業列を使ってください。
下記コードを組み合わせて作ることになります。

例えば、H列にこんな感じの関数を入れて、
H列の「TRUE」をオートフィルタする。
(D列、F列のどちらかが「現金」の場合)

H2
=OR(D2="現金",F2="現金")

マクロだと
Range("H2").Resize(任意のサイズ).Formula = _
      "=OR(D2=""" & Combo科目.value & """,F2=""" & Combo科目.value & """)"

作業列を使えば、自分の抽出したい条件の関数を入れて、TRUEかFALSEのどちらかを抽出すれば良いので楽かと思います。

こんな風にして

'Application.ScreenUpdating = False
With Sheets("【仕訳帳】")
  .AutoFilterMode = False
  LastR = .Range("A65536").End(xlUp).Row
  With .Range("A1")
           '↓「H2」
     With .Offset(, 7)
       .Value = "適当な名"
       .Offset(1).Resize(LastR - 1).Value = ""
       .Offset(1).Resize(LastR - 1).Formula = "=OR(D2=""" & "現金" & """,F2=""" & "現金" & """)"
     End With
     .AutoFilter Field:=8, Criteria1:="TRUE"
  End With
  Set myrag = .Range("A2:A" & LastR).SpecialCells(xlCellTypeVisible)
  .AutoFilterMode = False

  '↓作業列のクリア。後で、コメントを外す。
  '.Range("A1").Offset(, 7).Resize(LastR).Value = ""

  For Each Cel In myrag
    'ここでどこに入れるのか判定して、適度な所にいれる。
    MsgBox "抽出された行 " & Cel.Row & vbLf & _
       "借方科目 " & Cel.Offset(, 3).Value & " " & Cel.Offset(, 3).Address & vbLf & _
       "貸方科目 " & Cel.Offset(, 5).Value & " " & Cel.Offset(, 5).Address
  Next
  
End With
Set myrag = Nothing
Application.ScreenUpdating = True

0 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 質問

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