作者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/m.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