[算表] excel依據儲存格值執行不同VBA內容

看板Office作者 (唉呦就是那個啊~~)時間11年前 (2015/01/09 16:19), 11年前編輯推噓0(0024)
留言24則, 2人參與, 最新討論串1/1
軟體:EXCEL 版本:2007 目標: 依據特定儲存格改變設定成條件,執行不同的VBA 問題: 我是VBA新手...沒辦法寫出來T_T 一直執行失敗 資料型態:條件+執行目標 [條件] X1 X2 X3 X4 X5 0/1 0/1 0/1 0/1 0/1 五個變數都可以是0或1, 目前把他code成連續的 ex. 00000 或 01001 etc 再轉成代號A,B,C等等,呈現在儲存格A2,從A到M [執行目標] 行 5:15 [VBA] 若A2="A",隱藏5:5 ="B",隱藏6:6 ="C",隱藏5:6 ="D",隱藏5:5,7:7 逗點後面都沒問題,這個簡單簡單的 目前問題: 1. 我姑狗後找到Cells.Item(1, "A"),還有get value等 不知道要用哪種才適合讓他進VBA做判定?我怎麼寫都跳錯誤... 2. VBA是否可以用dim讓他變得簡潔一點? 我目前的想法是 dim hiderange if 1A="A", then hiderange="5:5" elseif 1A="B", then hiderange="6:6" end if Range(hiderange).Select 這樣有通嗎? 感覺要寫好長啊到M,而且我if 1A="A"這邊我怎麼寫都失敗T_T 3. 是否有寫法可以讓巨集中執行其他巨集?(巨集A和B還有其他自己本身的之類的這樣) 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.68.96.125 ※ 文章網址: http://www.ptt.cc/bbs/Office/M.1420791563.A.AA8.html

01/09 16:41, , 1F
1.是希望將那五個變數合併嗎?判定是指轉成代號嗎?
01/09 16:41, 1F
我已經把五個變數合併完,並用vlookup查表轉成代碼進儲存格A2了,這邊都沒有問題~~

01/09 16:44, , 2F
2.簡潔是指簡寫嗎?
01/09 16:44, 2F

01/09 16:44, , 3F
如果是的話可google excel vba dim 簡寫
01/09 16:44, 3F
我有dim一個變數了(感覺很像var,這邊我都還可以理解XD 後面就OTZ) ※ 編輯: rd2l4 (203.68.96.125), 01/09/2015 16:46:03

01/09 16:46, , 4F
3.執行其他巨集,如果其他模組內沒有程序時,就直接打程序
01/09 16:46, 4F

01/09 16:46, , 5F
名就可以
01/09 16:46, 5F

01/09 16:46, , 6F
如果其他模組內沒有同名的程序時
01/09 16:46, 6F

01/09 16:49, , 7F
dim hiderange 型態看來是字串,上面的宣告為什麼要定義是
01/09 16:49, 7F

01/09 16:49, , 8F
variant呢?
01/09 16:49, 8F

01/09 16:51, , 9F
應該是我亂用吧OTZ 說實話我連您的問題都看不懂了T_T
01/09 16:51, 9F

01/09 16:52, , 10F
1A是變數嗎?這樣的變數命名規則是不正確的
01/09 16:52, 10F

01/09 16:52, , 11F
我希望這個變數可以代指 依據條件變化的不同的行數
01/09 16:52, 11F

01/09 16:52, , 12F
1A是儲存格1A,目前我是寫If Cell(1, "A").Value = "A"
01/09 16:52, 12F

01/09 16:53, , 13F
這樣不通,然後google可能找不到正確的搜尋字都沒結果
01/09 16:53, 13F

01/09 16:55, , 14F
有的是搜尋指標下的格子內容,大多都是填到指定儲存格
01/09 16:55, 14F

01/09 16:56, , 15F
沒看到有讀取指定儲存格進VBA的...爬文有爬到可以實行
01/09 16:56, 15F

01/09 16:56, , 16F
但該文沒有寫說怎麼運作....所以卡死了OTZ
01/09 16:56, 16F

01/09 16:59, , 17F
不通,cell(1,"A")這是不正確,應為cells(1,"A") 有一個s
01/09 16:59, 17F

01/09 17:02, , 18F
想到可用vlookup參照的方式抓進要隱藏的列號
01/09 17:02, 18F

01/09 17:04, , 19F
這部分我可以做到,但是我不知道抓到之後要怎麼導入VBA讓他
01/09 17:04, 19F

01/09 17:04, , 20F
可以自動隱藏
01/09 17:04, 20F

01/09 17:15, , 21F
有了耶!!!!!!!!!!!太感動了!!!!!英文代碼根本不用嘛!!
01/09 17:15, 21F

01/09 17:15, , 22F
謝謝大人!! 太感激了,原來就是多繞了一圈根本不該繞下去的
01/09 17:15, 22F

01/09 17:17, , 23F
我決定把這個巨集名稱用大大的名字做為紀念!!(喂
01/09 17:17, 23F

01/09 17:40, , 24F
^^
01/09 17:40, 24F
文章代碼(AID): #1KhuyBge (Office)
文章代碼(AID): #1KhuyBge (Office)