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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP