作者rd2l4 (唉呦就是那個啊~~)
看板Office
標題[算表] 依據儲存格值執行不同VBA內容
時間Fri Jan 9 16:19:20 2015
軟體: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
→ soyoso: 1.是希望將那五個變數合併嗎?判定是指轉成代號嗎? 01/09 16:41
我已經把五個變數合併完,並用vlookup查表轉成代碼進儲存格A2了,這邊都沒有問題~~
→ soyoso: 2.簡潔是指簡寫嗎? 01/09 16:44
→ soyoso: 如果是的話可google excel vba dim 簡寫 01/09 16:44
我有dim一個變數了(感覺很像var,這邊我都還可以理解XD 後面就OTZ)
※ 編輯: rd2l4 (203.68.96.125), 01/09/2015 16:46:03
→ soyoso: 3.執行其他巨集,如果其他模組內沒有程序時,就直接打程序 01/09 16:46
→ soyoso: 名就可以 01/09 16:46
→ soyoso: 如果其他模組內沒有同名的程序時 01/09 16:46
→ soyoso: dim hiderange 型態看來是字串,上面的宣告為什麼要定義是 01/09 16:49
→ soyoso: variant呢? 01/09 16:49
→ rd2l4: 應該是我亂用吧OTZ 說實話我連您的問題都看不懂了T_T 01/09 16:51
→ soyoso: 1A是變數嗎?這樣的變數命名規則是不正確的 01/09 16:52
→ rd2l4: 我希望這個變數可以代指 依據條件變化的不同的行數 01/09 16:52
→ rd2l4: 1A是儲存格1A,目前我是寫If Cell(1, "A").Value = "A" 01/09 16:52
→ rd2l4: 這樣不通,然後google可能找不到正確的搜尋字都沒結果 01/09 16:53
→ rd2l4: 有的是搜尋指標下的格子內容,大多都是填到指定儲存格 01/09 16:55
→ rd2l4: 沒看到有讀取指定儲存格進VBA的...爬文有爬到可以實行 01/09 16:56
→ rd2l4: 但該文沒有寫說怎麼運作....所以卡死了OTZ 01/09 16:56
→ soyoso: 不通,cell(1,"A")這是不正確,應為cells(1,"A") 有一個s 01/09 16:59
→ soyoso: 想到可用vlookup參照的方式抓進要隱藏的列號 01/09 17:02
→ rd2l4: 這部分我可以做到,但是我不知道抓到之後要怎麼導入VBA讓他 01/09 17:04
→ rd2l4: 可以自動隱藏 01/09 17:04
→ rd2l4: 有了耶!!!!!!!!!!!太感動了!!!!!英文代碼根本不用嘛!! 01/09 17:15
→ rd2l4: 謝謝大人!! 太感激了,原來就是多繞了一圈根本不該繞下去的 01/09 17:15
→ rd2l4: 我決定把這個巨集名稱用大大的名字做為紀念!!(喂 01/09 17:17
→ soyoso: ^^ 01/09 17:40