Office 板


LINE

(若是和其他不同软体互动之问题 请记得一并填写) 软体:Excel 版本:2019 是这样的 例如我的巨集写了一些 pro01 = IIf(InStr(1, ch03, "鸡腿饭", 1) <> 0, "PD01", IIf(InStr(1, ch03, "鸡翅 饭", 1) <> 0, "PD02", IIf(InStr(1, ch03, "鸡排饭", 1) <> 0, "PD03", "PD04"))) 但是当鸡腿饭下架换成控肉饭 我会打开VBA→取代→目前专案→全部取代 把字串"鸡腿饭"换成"控肉饭" 但是其他使用者 需要修改 不希望让它们打开VBA 所以我想写成 (不知道写法对不对) pro01 = IIf(InStr(1, ch03, "CPD01", 1) <> 0, "PD01", IIf(InStr(1, ch03, "CPD02", 1) <> 0, "PD02", IIf(InStr(1, ch03, "CPD03", 1) <> 0, "PD03", "PD04"))) 然後指定本活页簿的工作表1 B2 B3 B4 B5 储存格 设计让使用者填写 这样的话 要如何把储存格内容 引导到VBA内作为程式中的字串 Public CPD01 As String CPD01 = ActiveWorkbook.Sheets("工作表1").Range("B2") 目前我是想应该写这样 在任何一个空白处 先写这样 但是不知道该如何连结起来 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.239.115.119 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1623684365.A.052.html
1F:推 waiter337: 首先我建议你用select case 的写法 06/15 01:38
你是说IIF这条改 Select Case pro01 Case InStr(1, ch03, "鸡腿饭", 1) <> 0 pro01 = "PD01" Case InStr(1, ch03, "鸡翅饭", 1) <> 0 pro01 = "PD02" Case InStr(1, ch03, "鸡排饭", 1) <> 0 pro01 = "PD03" Case Else pro01 = "PD04" End Select
2F:→ waiter337: 或者 阵列+回圈判断的写法 06/15 01:38
3F:→ waiter337: https://imgur.com/9dom1Xv 06/15 02:04
※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 02:05:27 你可能误会我的意思了 虽然这个方法很好 但是我这个程式写太多了 只好先用取代的 模组1 某段 pro01 = IIf(InStr(1, ch03, "CPD01", 1) <> 0, "PD01","PD02") 模组2 Public CPD01 As String CPD01 = "鸡腿饭" '原本可以 CPD01 = ActiveWorkbook.Sheets("工作表1").Range("B2") '改这样失败 还是说 "CPD01" 不可以有引号 改 CPD01 ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 02:42:23
4F:推 waiter337: 不可以有引号 引号的意思 就是文字 06/15 02:57
5F:→ waiter337: 两种意思是完全不同 比如 蔡英文 跟"蔡英文" 06/15 02:57
6F:→ waiter337: 两种意思完全不同 前者只是个抽屉 你要放甚麽都可以 06/15 02:58
7F:→ waiter337: 後者铁定就是 辣个人 06/15 02:58
ok 谢谢 我先试看看 有点忘了 整个专案要吃 是写这样对吧 public sub xxx() CPD01 = ActiveWorkbook.Sheets("工作表1").Range("B2") end sub ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 03:18:47
8F:→ waiter337: 这样的意思 只是 cpd01=储存格B2 06/15 03:51
9F:→ waiter337: 可以练习用f8逐行 跟 新增监看式 来看抽屉放什麽 06/15 03:51
10F:→ waiter337: 上网查一查 06/15 03:51
Sub test05() CPD01 = ActiveWorkbook.Sheets("工作表1").Range("B2").Value End Sub 滑鼠指着 CPD01 显示 CPD01 = "鸡腿饭" 而我需要 这个新算式时 需要在每一个用到这算式副程式开头插入 Call test05 有办法改成 直接让整个专案都吃到这个算式吗? ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 04:31:32
11F:推 waiter337: 在sub 以外的地方 输入 06/15 05:01
12F:→ waiter337: sim cpd01 06/15 05:01
13F:→ waiter337: dim cpd01 06/15 05:01
14F:推 waiter337: 最上面 06/15 05:02
15F:→ waiter337: https://imgur.com/EYL7HTv 06/15 06:37
如果我用 Public 宣告 宣告完 底下马上写副程式 副程式内的变数 就所有模组同一个变数一样吗 ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 08:40:17
16F:推 waiter337: 只要是不同的程式 要传送变数 只有两种方法 06/15 08:42
17F:→ waiter337: 一种是上面那样 06/15 08:42
18F:→ waiter337: 一种是 呼叫时 要挂号起来带过去 06/15 08:42
19F:→ waiter337: https://imgur.com/xYeBKKy 06/15 08:44
20F:→ waiter337: f8 逐行跑看看就会清楚运作流程 06/15 08:45
用 Function 会比较好吗? 模组A Function CPD(x As String) As String CPD = x End Function 模组B Sub xxxxx() Dim CPD01 As String CPD01 = CPD("鸡腿饭") MsgBox CPD01 End Sub 目前我试到这边 至於 ActiveWorkbook.Sheets("工作表1").Range("B2") 的值我还在想怎麽套进去 ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 09:41:04
21F:→ newacc: 看得好混乱,为什麽不直接把ActiveWorkbook.Sheets.Range 06/15 14:01
22F:→ newacc: 写进你的IIf里? 06/15 14:01
欸 对喔 我试看看 ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 15:15:36 我印象有一个方法是 把某储存格取一个名字 就好像给这个储存格专用身份 然後在VBA直接抓取这个名字 具体上 是怎麽做的? ※ 编辑: hmsboy (36.239.115.119 台湾), 06/15/2021 22:28:48
23F:→ newacc: 定义名称 06/16 01:03







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

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

TOP