...我已經尋找這一切的一天,但一直沒能解決它定義簿和工作表變量的值,所以希望你們能夠幫助:)VBA的Excel - 從細胞
目的: 對於單獨工作簿(從中運行此代碼)中的指定工作表,對於列O中的行號列表,腳本應運行並突出顯示所有對應的行號爲黃色。
語境: 我的審計,所以我們經常有從Excel工作簿挑隨機樣本,與行的1000,然後手動突出的隨機選擇。我想自動執行此過程。
具體問題: 有我的循環工作,並強調黃色,但似乎無法得到變量爲「目標位置」的,我想代碼運行工作。當我對「Sheet2」進行硬編碼時,它可以在Sheet 2上工作。但是,即使我嘗試使用單元格值作爲變量,並在該單元格中放置「Sheet2」,它也不起作用。我已經嘗試了比以下內容更多的方法,但是我只是整理了當前的代碼並粘貼到下面。對於終端交付
詳細信息(以下所有輸入是在一個單頁WB,表名稱被稱爲「隨機」: - 用戶輸入單元格A5 一個文件夾位置 - 用戶在小區A6進入文件夾位置 - 用戶進入細胞A7 表名稱 - 號碼的用戶糊劑列表用於突出到O列 - 用戶應該然後點擊「高亮樣品」按鈕的量,代碼應該然後突出顯示所有行號在O列黃色目標工作表中目標工作簿。
代碼 (從另一個後修飾):
Sub sample()
Dim i As Long, workbk As Workbook, worksh As Worksheet
On Error GoTo Whoa
Application.ScreenUpdating = False
Set worksh = Sheets("Sheet2") 'Hard-coded, this works
'Set worksh = Range("B6").Value 'Doesn't work
'Set worksh = Sheets(Range("pickupsheetname")) 'Doesn't work
With Sheets("RandomList")
For i = 1 To 30
If Not Len(Trim(.Range("O" & i).Value)) = 0 And _
IsNumeric(.Range("O" & i).Value) Then _
worksh.Rows(.Range("O" & i).Value).Interior.ColorIndex = 6 '<~~ Yellow
Next i
End With
LetsContinue:
Application.ScreenUpdating = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
對於**具體問題**,你嘗試'設置worksh =表(範圍( 「B6」)。值)'...? – bobajob