下面是我最近使用過的類似代碼的一個小片段 不是你的問題最優化的代碼,但它應該可以幫助你「看」解決方案。
Dim rngStr As String 'range declaration
Dim currentRowIndex As Integer 'used to store the rowindex of certain searchvalues
Dim searchStr As String 'word to search
Dim ws As Worksheet
'Set searchcolumn = A
rngStr = "A:A"
searchstring = "Cellvalue of cell in loop"
currentRowIndex = SearchInRange(ws, rngStr, searchStr)
If currentRowIndex <> 0 Then
'searchstr was found
Worksheets("TrendsSheet").Cells(rowIndex, ColIndex).value = Worksheets("ArrearsSheet").Cells(currentRowIndex, ColIndexOfValueYouWant).value
End If
Private Function SearchInRange(ws As Worksheet, rng As String, searchstring As String) As Integer
'return the rowindex of the first found value in a specific range
With ws.Range(rng)
Set c = .Find(searchstring, LookIn:=xlValues)
If Not c Is Nothing Then
SearchInRange = c 'searchstring found
Else
SearchInRange = 0 'searchString not found
End If
End With
End Function
絕對精湛的GBSingh ...謝謝你!我稍微調整了一下,以便不用輸入一個完整的列,而是將每個匹配的單元格向右滑動,並輸入新的拖欠數字。這是需要的,因爲我將嘗試先寫下自己的下一個階段。乾杯! –
不用擔心。我很高興我能提供幫助。如果這有幫助,你可以將答案標記爲已解決,以便它可以幫助其他人,然後他們知道它的作用:) – GBSingh