countifの基準が満たされたら、セルのアドレスまたは行を取得することについて助けを求めます。私はちょうど何かが簡単でないように感じる。ここで Count Countの後にセルのアドレス/行を返す
は、私がこれまで持っているものの塊です:コードでWb2.Activate
Wb2.Sheets.Add(After:=Wb2.Sheets(Wb2.Sheets.Count)).Name = "Report"
With Wb2.Sheets("From")
Set myRange = .Range("F2:G" & lastRow)
End With
With Wb2.Sheets("Weekly_Stat")
Set forComp = Wb2.Sheets("Weekly_Stat").Range("D2:E" & lastRow2)
End With
Sheets("From").Activate
For Each item In myRange.Rows
With item
.Select
myCount = item.Row
myBool = False
foundIt = Application.CountIfs(forComp.Columns(1), .Cells(1).Value, forComp.Columns(2), .Cells(2).Value)
If foundIt Then myBool = True
If myBool = True Then
myStr = forComp.Row
Wb2.Sheets("Report").Cells(myCount, 10).Value = "Found"
MsgBox myStr
Else
Wb2.Sheets("Report").Cells(myCount, 10).Value = "Not Found"
End If
End With
Next item
、私はforCompで見つかった項目の行を取得しようとしていますが、私は無残失敗しています。
"Weekly_Stat"にある一致の行番号を取得する方法が不思議です。
現在、「From」シートのデータが「Weekly_Stat」に含まれているかどうかしか判断できません。新しい "レポート"シートに "Found"と "Not Found"の列を配置しました。私がやってみたかったことはある
:
- チェックデータがWeekly_Statで発見された場合、レポート内の場所の結果(実行される)
- データがWeekly_Statに存在していることを見つけた後、私は/アドレスを取得する必要があります行
- 私は行/アドレスを使用して、同じ行の次の列から別のデータをWeekly_Statから取得します。
私のジレンマについて調べてみましたが、解決策を見つけることができませんでした。私はおそらく検索に間違ったキーワードを使用している可能性がありますので、これはすでに尋ねられている場合は事前に私の謝罪。どんな助けでも大歓迎です。どうもありがとう。
:VBAを使用してプロセスを自動化するために、我々はこの(最初から最後の行にすべてのコードを置き換え、唯一
lastRow
が正しく計算されたことを想定)のようにそれを行うことができます2列一致の場合の番号。これを行う簡単な方法があります。 – Jeeped