[問題] 未設定物件變數或 With 區塊變數

作者: hmsboy (一 身 是 å®…)   2020-12-18 23:12:16
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:excel
版本:2019
Public Function test1(PROD As String) As Integer
Dim wsFunc As WorksheetFunction: Set wsFunc =
Application.WorksheetFunction
Dim ws As Worksheet: Set ws = Sheets("Sheets1")
Dim rngLook As Range: Set rngLook = ws.Range("A1:B10")
Dim target_name As String
Dim value As String
On Error Resume Next
value = wsFunc.VLookup(PROD, rngLook, 2, False)
test1 = value
End Function
一直卡在黃字 陣列索引超出範圍
我是想寫一個變數帶入
如果是 蘋果 值=10
香蕉 值=20
前面會抓一個字串
fruit = 香蕉
Dim retVal As Integer
retVal = test1("fruit")
不知道該怎麼改
作者: soyoso (我是耀宗)   2020-12-18 23:18:00
檢查是否有Sheets1這個工作表名稱的工作表
作者: hmsboy (一 身 是 å®…)   2020-12-18 23:22:00
有喔 我還特地複製貼上工作表的名稱
作者: soyoso (我是耀宗)   2020-12-18 23:24:00
確定有一樣嗎?來,來看https://i.imgur.com/phehf89.jpg工作表名稱Sheets1 多個空格就會回傳陣列索引超出範圍
作者: hmsboy (一 身 是 å®…)   2020-12-18 23:25:00
???????
作者: soyoso (我是耀宗)   2020-12-18 23:25:00
都一致時有錯嗎? https://i.imgur.com/4rSpYIm.jpg沒,執行上沒問題
作者: hmsboy (一 身 是 å®…)   2020-12-18 23:26:00
多一個空白字元?
作者: soyoso (我是耀宗)   2020-12-18 23:26:00
有沒有這個工作表名稱,這個工作表名稱有沒有一致是的,我回文就是再說為什麼會產生這個錯誤多一個空白字元不一致時就會產生有沒有這個可能,原po可以自行檢查看看什麼錯誤,無法回傳正確資料還是錯誤訊息錯誤如果是無法回傳正確資料fruit = 香蕉 (香蕉前後要有雙引號),下方test1括號內的不用雙引號出現引數型態不符的話,宣告一下fruit為字串要不要看一下我回文12/18 23:48寫的下方test1括號內的不用雙引號,結果你回文連結內還是要以test1("fruit"),我也沒辦法以這個舉例來看回傳正確要的值,那就是對的那內文寫的"一直卡在黃字 陣列索引超出範圍"呢?缺少宣告這個變數出現的錯誤訊息,我回文12/18 23:48有寫是引數型態不符,並不是"陣列索引超出範圍"不用私下傳給我。上傳雲端,開權限,貼連結。不限我回覆原po這就是我第一筆12/18 23:18回文寫的是否有這個工作表名稱的工作表,開啟後作用活頁簿在庫存明細.xlsx這個上,這個活頁簿內就沒有"入庫記錄"這個工作表那要指定的話巨集這個活頁簿內的入庫記錄,workbooks("完整檔名").sheets(...)或是thisworkbook.sheets(..)加上後,執行就沒有"陣列索引超出範圍"錯誤訊息,a:g欄內也有資料寫入https://i.imgur.com/idMlDEV.jpeg解讀說是迷路就看原po。原因是使用中的活頁簿為庫存明細.xlsx,該活頁簿並無入庫記錄這個工作表的緣故樞紐方面,看工作表"訂單"的c欄到貨日,儲存格c2=IF(匯單!B2="","",匯單!B2)工作表"匯單",儲存格b2沒有資料就回傳空字串程序"樞紐重整"到貨日的日期就會以空字串所以要改的話,將工作表"訂單"的c欄到貨日,找第二列往下第一筆有資料,這用match,對應b欄預交日期就看要用index、offset或indirect

Links booklink

Contact Us: admin [ a t ] ucptt.com