作者hotblood999 (冲啊LUCKYBALL)
看板Office
标题[算表] VBA储存格包含某字则跳出讯息
时间Tue Sep 27 00:58:01 2016
软体:EXCEL
版本:2013
各位前辈高手好,
EXCEL VBA初学者希望能请教各路强者以下问题。
EXCEL示意图如下:
A B C D
1 小君 小华
2 小安 小美
3 小明58 小和
我希望当侦测到储存格A3包含"小明",
则启动询问视窗并提供是与否的选项,
当我选是则储存格A3最後一码数字"8"将覆盖掉D3,
而储存格A3倒数第二码数字"5"覆盖掉C3,
且回到A栏位中最後有文字的下一列(此例中为A4);
当我选否,则直接回到储存格A1。
查询後了解有if, msgbox,instr可以帮助解决,
但功力太浅希望能谘询版上前辈,
还望能不吝赐教,谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.177.35.66
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1474909083.A.C95.html
1F:→ soyoso: 回圈,回圈内以原文写到的if配合instr判断是否有包含指定 09/27 07:18
2F:→ soyoso: 字串;以变数接msgbox vbyesno的选择值 09/27 07:21
3F:→ soyoso: 当vbyes(6)时以right抓出最後(右侧)数字到储存格D3(range 09/27 07:24
4F:→ soyoso: 或cells);mid配合len抓倒数第二码数字至储存格C3 09/27 07:25
5F:→ soyoso: 当vbno(7)回到储存格a1,以range.select 09/27 07:27
6F:→ soyoso: 如要中止回圈用exit for 09/27 07:28
7F:→ soyoso: 或以range.find方式来找出指定字串 09/27 07:30
8F:→ soyoso: 至最後有值用range.end,偏移列或栏用offset 09/27 07:33
9F:→ waiter337: myStr = InputBox("栏位选择关键字输入") 09/27 09:46
10F:→ waiter337: myStr = "*" & myStr & "*" 09/27 09:47
11F:→ waiter337: 我现在储存格找的到了 09/27 09:48
12F:→ waiter337: 也卡在挑字串 09/27 09:48
13F:→ waiter337: myTable.Rows(myRow).Copy Range("c1000").End(xlUp).O 09/27 09:48
14F:→ waiter337: ffset(1) 09/27 09:48
15F:推 waiter337: 我在想说不定要先把5跟8定义後先提取出来,後面方便用 09/27 09:53
16F:→ hotblood999: 非常感谢s大和w大!!这个版有高手前辈真是受益良多!!! 09/27 17:50
18F:→ waiter337: 试试看,我也研究很久 09/29 20:36
19F:→ waiter337: tmprange1 as integer 是多余的 可删除 09/29 20:39
20F:→ waiter337: 我的储存格范围是引用定义表单自然产生的范围y 09/29 20:58
21F:→ waiter337: 当然你能用vba range("65536").end(xlup).row 类似这 09/29 20:59
22F:→ waiter337: 种方式来找啦,我只是顺便练习一下刚学的课程 09/29 21:00
23F:→ waiter337: range("A65536").end(xlup).row 刚少打个A 09/29 21:01
24F:→ waiter337: 工作表1 才是喔 10/01 01:13