我正在隨機抽取每個市場每份報告3%的報告點擊率..不要問。無論如何 - 我已經完成了所有設置和完成的代碼,市場和報告設置爲Excel for VBA error in'For'statement
ex:market = Array(「market1」,「market2」,「market3」...) report = Array(「report1」,「report2」,「report3」。 ..)
我的問題是,當我運行代碼即可獲得3%,當沒有命中報告對於市場 - 我得到的上次報告的副本
的數據是這樣的:
market1 | report1 | #點擊率
market1 | report2 | #點擊率
Market1 | report3 | #點擊率
market2 | report1 |#點擊次數
market2 | report1 | #點擊率
market2 | report3 | #of hits
如何消除以前數據的重複?
這裏是我的代碼:
For i = 0 To UBound(market)
For z = 0 To UBound(report)
reporthits = Application.CountIfs(ws2.Range("B:B"), market(i), ws2.Range("L:L"), report(z))
If reporthits * 0.03 < 1 Then
samplecount = 1
Else
samplecount = Round(reporthits * 0.03, 0)
End If
rownumber = ws2.Evaluate("IFERROR(Match(""" & market(i) & report(z) & """,B:B & L:L, 0),""Not Found"")")
If IsNumeric(rownumber) Then
ws2.Range("$A" & rownumber & ":$L" & (rownumber + (samplecount - 1))).Copy
lrow3 = ws3.Range("A" & Rows.Count).End(xlUp).Row + 1
ws3.Range("A" & lrow3).PasteSpecial xlPasteAll
Else: Resume Next
的感謝!
這是因爲沒有匹配被發現和行號是'「未找到」'這將拋出一個錯誤,但你的'上的錯誤恢復next'強制它到下一行,並粘貼最後被複制的單元格。你需要測試一下rownumber是一個數字還是一個字符串。只有在rownumber是數字的情況下才能進行復制和粘貼。 –