在我繼續尋求爲工作地點組織一個隨時調度的工作中更輕鬆的工作時,我又碰到了另一個roadbump。如何用Excel中的循環中的列表中的名稱替換單元格中的數字VBA
我真是很大幫助安排一個編號計劃,看起來像在此之前:
每個這些數字對應於一個特定的名字在名單上的綠色名爲「個人」的權利。
現在我想用循環將這些數字替換爲綠色列表中的名稱。
我試圖做它像這樣,通過選擇具有數字的單元格的範圍,然後做出一個循環,在列表中的名稱,以取代所有的個人數字:
Sub FindReplaceAllTest(numOfEmployees As Integer)
Dim sht As Worksheet
Dim fnd As Integer
Dim rplc As Variant
fnd = 1
rplc = ThisWorkbook.Sheets("Duty Roster").Cells("17, fnd + 1").Value
For Each sht In ActiveWorkbook.Worksheets
Range("B2:F54").Select
Selection.Replace What:=fnd, replacement:=rplc, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
If fnd < numOfEmployees Then
fnd = fnd + 1
ElseIf fnd = numOfEmployees Then
fnd = 0
End If
Next sht
End Sub
變量numOfEmployees
聚集在一個較早的SUB,其中綠色列表中的名稱被計入並傳遞到此變量中,這是爲了創建編號列表的過程。
不幸的是,它不會產生預期的結果。我在該行得到錯誤「1004」:
rplc = ThisWorkbook.Sheets("Duty Roster").Cells("17, fnd + 1").Value
這似乎是在該行的fnd
變量引起的。當我拿出fnd
並用常規的行引用替換它,我得到的結果是這樣的:
"Fnd" switched out for "2": "rplc = ThisWorkbook.Sheets("Duty Roster").Cells("17, 2").Value"
即使我把「2」的行中我仍然得到列表的名稱作爲替補。
謝謝!用你的指針,我發現了我真正想說的和做的!我改變了我的代碼,看起來像這樣提供了所需的結果(請查看下面的內容,我將它列在一個新條目中)。 –
不客氣。很高興有幫助 – user3598756