重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ExcelVBA で関数のcountifsの代わりになるコードを教えて下さい。

A列に日付 B列に場所 が入力されているシート1があり、シート2にも同じように入力した場合、シート1と同じ日付・場所であった場合シート2のC列に○印が、入力されるといったものが作りたいのですが、コードが分かりません。どなたかご教授下さい!

A 回答 (1件)

こんにちは



こんな感じでしょうか?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng, c, rw As Long, f As Boolean
Set rng = Intersect(Range("A:B"), Target)
If rng Is Nothing Then Exit Sub
With Worksheets("Sheet1")
For Each c In rng
rw = c.Row
f = WorksheetFunction.CountIfs(.Columns(1), Cells(rw, 1), .Columns(2), Cells(rw, 2)) > 0
If f Then Cells(rw, 3).Value = "〇" Else Cells(rw, 3).Value = ""
Next c
End With
End Sub
    • good
    • 1
この回答へのお礼

やってみます

ご教授頂きありがとうございます!
なるほど、WorksheetFunctionを使うと関数が使えるのですね!!すごく勉強になりました!まだまだわからないことが多いので、教えていただいたコードを一つ一つ解読していきたいと思います!

お礼日時:2022/03/09 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!