Sub 填空抽取報告()
a = Sheets("sheet1").[a1].CurrentRegion.Rows.Count
b = Sheets("sheet2").[a1].CurrentRegion.Rows.Count
For i = 2 To a
For j = 2 To b
Dim rData As Range
Set rData = Sheets("sheet1").Cells(i, 2)
If (Sheet2.Cells(j, 2) Like "*" & rData & "*") Then
Sheet1.Cells(i, 4) = Sheet2.Cells(j, 3)
Sheet1.Cells(i, 5) = Sheet2.Cells(j, 2)
Sheet2.Cells(j, 2).Select
Cells.Replace What:="rData", Replacement:="Y"
Exit For
End If
Next j
Next i
End Sub
就是這個:Cells.Replace What:="rData", Replacement:="Y" 怎么改一下才好呀?
uj5u.com熱心網友回復:
Cells.Replace What:="rData", Replacement:="Y",前面的引號多余了,你查找的是 rData這個變數的值,而非 "rData" 這個字串。另外,你所謂的不能執行,是代碼正常跑完但沒得到預期的結果,還是代碼運行的時候直接報錯?
uj5u.com熱心網友回復:
謝謝樓上的,我把概念搞錯了,去掉引號就對了。我又修改了一下,最終是這樣的,我測驗了非常滿意。Sub 填空抽取報告()
a = Sheets("sheet1").[a1].CurrentRegion.Rows.Count
b = Sheets("sheet2").[a1].CurrentRegion.Rows.Count
For i = 2 To a
For j = 2 To b
Dim rData As Range
Set rData = Sheets("sheet1").Cells(i, 2)
If (Sheet2.Cells(j, 2) Like "*" & rData & "*") Then
Sheet1.Cells(i, 4) = Sheet2.Cells(j, 3)
Sheet1.Cells(i, 5) = Sheet2.Cells(j, 4)
Sheet2.Cells(j, 2).Cells.Replace What:=rData, Replacement:="Y"
Exit For
End If
Next j
Next i
End Sub
我以前一直卡在這一行: Sheet2.Cells(j, 2).Cells.Replace What:=rData, Replacement:="Y";其中活動單元格的概念我也沒搞對,這樣就對了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/18437.html
標籤:VB基礎類
上一篇:用VB撰寫一個程式,輸入用戶名和密碼后按回車沒有反應,怎么弄呢?
下一篇:求vb鍵盤事件詳解
