[[20210122222254]] 『複数列の条件に合致する』(みどり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数列の条件に合致する』(みどり)

 A B C
 10 101 青
 11 101 青
 12 101 白
 10 102 白
 11 102 赤
 12 102 赤

このときの、A列が11、B列が102,C列が赤となるときのセル、行数を取得するための、それぞれのvbaを教えてください(セルはA5、5行目となります。)

ちなみに、行の内容が重複することはありません。

初歩的なことを聞いて申し訳ありません。
よろしくお願いします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 数式で一発なんですけど、

 =TEXTJOIN(",",TRUE,REPT("A"&ROW(A1:A6),(A1:A6=11)*(B1:B6=102)*(C1:C6="赤")))

 マクロなんですね。

 Sub test()
     Dim rRw As Range

     For Each rRw In Range("A1:C6").Rows
         If rRw.Cells(1, 1) = 11 And _
            rRw.Cells(1, 2) = 102 And _
            rRw.Cells(1, 3) = "赤" Then

             MsgBox "ここ→ " & rRw.Cells(1, 1).Address(False, False)
             Exit For

         End If
     Next
 End Sub

(半平太) 2021/01/23(土) 00:02


半平太様
ありがとうございます。

rRwやrRw.Cells(1, 1)を取得することが最終目的ではなく、それらを使っていきたいです。
その場合、MsgBox "ここ→ " & rRw.Cells(1, 1).Address(False, False)を消して、新たな行を追加していったらよいですか。

よろしくお願いします。
(みどり) 2021/01/24(日) 11:44


追加でコメント失礼します。

それか、最初にset rRwと定義することができればよいのかと思ったのですが、そのように記載することはできるのでしょうか。

よろしくお願いいします。
(みどり) 2021/01/24(日) 12:14


 Sub test()
    Dim rRw As Range
    Dim rTargetA As Range

    For Each rRw In Range("A1:C6").Rows
        If rRw.Cells(1, 1) = 11 And _
            rRw.Cells(1, 2) = 102 And _
            rRw.Cells(1, 3) = "赤" Then

            Set rTargetA = rRw.Cells(1, "A") 'A列のセルをセットする
            Exit For
        End If
    Next

    If rTargetA Is Nothing Then
        MsgBox "該当なし"
        Exit Sub
    End If

 '    rTargetAを使って何かする。
    MsgBox rTargetA.Address
 End Sub

(半平太) 2021/01/24(日) 12:36


半平太様

ありがとうございます。
印刷をしたくて以下のように書いたのですが、「1004実行時エラー、rangeメソッドは失敗しました。globalオブジェクト」となってしまいました。

Dim a As Long
.PageSetup.PrintArea = Range(Cells(a, 1), rTargetA).Address

どう修正したらよいか、お分かりになりますでしょうか。
よろしくお願いします。

(みどり) 2021/01/25(月) 22:44


 >.PageSetup.PrintArea = Range(Cells(a, 1), rTargetA).Address
  .PageSetup.PrintArea = Range(Cells(1,"A"), rTargetA).Address  
                  ↑
                  の間違いじゃないですか?

(半平太) 2021/01/25(月) 23:03


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.