Office 板


LINE

(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: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") 不知道該怎麼改 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.50.83 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1608304339.A.B7C.html
1F:→ soyoso: 檢查是否有Sheets1這個工作表名稱的工作表 12/18 23:18
2F:→ hmsboy: 有喔 我還特地複製貼上工作表的名稱 12/18 23:22
3F:→ soyoso: 確定有一樣嗎?來,來看 12/18 23:24
4F:→ soyoso: https://i.imgur.com/phehf89.jpg 12/18 23:24
5F:→ soyoso: 工作表名稱Sheets1 多個空格就會回傳陣列索引超出範圍 12/18 23:25
6F:→ hmsboy: ??????? 12/18 23:25
7F:→ soyoso: 都一致時有錯嗎? https://i.imgur.com/4rSpYIm.jpg 12/18 23:25
8F:→ soyoso: 沒,執行上沒問題 12/18 23:26
9F:→ hmsboy: 多一個空白字元? 12/18 23:26
10F:→ soyoso: 有沒有這個工作表名稱,這個工作表名稱有沒有一致 12/18 23:26
11F:→ soyoso: 是的,我回文就是再說為什麼會產生這個錯誤 12/18 23:27
12F:→ soyoso: 多一個空白字元不一致時就會產生 12/18 23:27
13F:→ soyoso: 有沒有這個可能,原po可以自行檢查看看 12/18 23:28
應該不是出在工作表名稱的問題 這行如果直接打入字串 retVal = test1("香蕉") retVal 就會跑出 20 表示有對照到表格 但是 retVal = test1("fruit") 就會錯誤 ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/18/2020 23:30:29
14F:→ soyoso: 什麼錯誤,無法回傳正確資料還是錯誤訊息 12/18 23:32
15F:→ soyoso: 錯誤如果是無法回傳正確資料 12/18 23:48
16F:→ soyoso: fruit = 香蕉 (香蕉前後要有雙引號),下方test1括號內的不 12/18 23:48
17F:→ soyoso: 用雙引號 12/18 23:48
18F:→ soyoso: 出現引數型態不符的話,宣告一下fruit為字串 12/18 23:48
https://imgur.com/HyeFsiJ https://imgur.com/b20XEXm ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/18/2020 23:53:09
19F:→ soyoso: 要不要看一下我回文12/18 23:48寫的 12/18 23:55
20F:→ soyoso: 下方test1括號內的不用雙引號,結果你回文連結內還是要以 12/18 23:58
21F:→ soyoso: test1("fruit"),我也沒辦法 12/18 23:58
https://imgur.com/ru0ZL2I 這樣對嗎? ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 00:00:21
22F:→ soyoso: 以這個舉例來看回傳正確要的值,那就是對的 12/19 00:04
一開始以為 跑 fruit = "香蕉" fruit 有抓到 香蕉 字串 去改test1("fruit")這段 改來改去 像是 test1(CStr(fruit)) 都無法再跑下去 關鍵應該是缺少 宣告字串 Dim fruit As String ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 00:12:41
23F:→ soyoso: 那內文寫的"一直卡在黃字 陣列索引超出範圍"呢? 12/19 00:15
24F:→ soyoso: 缺少宣告這個變數出現的錯誤訊息,我回文12/18 23:48有寫 12/19 00:15
25F:→ soyoso: 是引數型態不符,並不是"陣列索引超出範圍" 12/19 00:15
文件有點肥大 我家工程師跑路 我半桶的 能私下傳給你看嗎? ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 00:30:24
26F:→ soyoso: 不用私下傳給我。上傳雲端,開權限,貼連結。不限我回覆原 12/19 00:36
27F:→ soyoso: po 12/19 00:36
https://reurl.cc/n0ak1n https://reurl.cc/ygd2r6 工作表_入庫記錄 > 按鈕_庫存匯入>庫存明細.xlsx ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 00:53:33
28F:→ soyoso: 這就是我第一筆12/18 23:18回文寫的是否有這個工作表名稱 12/19 00:59
29F:→ soyoso: 的工作表,開啟後作用活頁簿在庫存明細.xlsx這個上,這個 12/19 00:59
30F:→ soyoso: 活頁簿內就沒有"入庫記錄"這個工作表 12/19 00:59
31F:→ soyoso: 那要指定的話巨集這個活頁簿內的入庫記錄,workbooks("完 12/19 01:03
32F:→ soyoso: 整檔名").sheets(...)或是thisworkbook.sheets(..) 12/19 01:03
33F:→ soyoso: 加上後,執行就沒有"陣列索引超出範圍"錯誤訊息,a:g欄內 12/19 01:06
34F:→ soyoso: 也有資料寫入 12/19 01:06
35F:→ soyoso: https://i.imgur.com/idMlDEV.jpeg 12/19 01:06
成功了 Dim ws As Worksheet: Set ws = Sheets("入庫記錄") ↓↓ Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("入庫記錄") 為什麼差這個就跑不動? 他迷路是跑去 庫存明細.xlsx 的意思嗎 ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 01:16:50 睡前再問一個 麻煩你了 同樣是主檔 工作表 "匯單" 如果第二列 沒資料空白 "樞紐" 抓不到資料 要怎麼解決 ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 01:21:31
36F:→ soyoso: 解讀說是迷路就看原po。原因是使用中的活頁簿為庫存明細. 12/19 01:29
37F:→ soyoso: xlsx,該活頁簿並無入庫記錄這個工作表的緣故 12/19 01:29
這個有了解 因為沒有指定 ThisWorkbook 開了 庫存.xlsx 導致程序上 是跑在 庫存.xlsx ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 01:41:39 題外話 我家工程師跑路 留了很有趣的東西 Public Const limitD As Date = "2020/12/15" Public Function login() login = IIf(Date >= limitD, False, True) End Function 然後 每一個 Sub xxx() 下面寫上 If login() = False Then Exit Sub 設定使用期限 很幼稚 ※ 編輯: hmsboy (220.142.50.83 臺灣), 12/19/2020 01:46:08
38F:→ soyoso: 樞紐方面,看工作表"訂單"的c欄到貨日,儲存格c2=IF(匯單! 12/19 01:51
39F:→ soyoso: B2="","",匯單!B2) 12/19 01:51
40F:→ soyoso: 工作表"匯單",儲存格b2沒有資料就回傳空字串 12/19 01:51
41F:→ soyoso: 程序"樞紐重整"到貨日的日期就會以空字串 12/19 01:51
42F:→ soyoso: 所以要改的話,將工作表"訂單"的c欄到貨日,找第二列往下 12/19 01:51
43F:→ soyoso: 第一筆有資料,這用match,對應b欄預交日期就看要用index 12/19 01:51
44F:→ soyoso: 、offset或indirect 12/19 01:51
B2~B17 每次會隨機產生空白或日期 但至少有一個是日期 我寫成這樣 =OFFSET(匯單!B2,SMALL(IF(匯單!B2:B17>0,ROW(匯單!B2:B17)-2,""),ROW(1:1)),) 只要B2~B17中間有日期 抓日期資料 ※ 編輯: hmsboy (59.120.114.65 臺灣), 12/19/2020 14:59:27







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP