入黎免費幫你砌excel表 / 教你formula (6)

994 回覆
99 Like 7 Dislike
2021-03-27 12:34:34
我想問下有冇方法可以跟一d condition 去auto hide 1 d row?
我用filter 係做到但想佢自動hide, 唔洗做完一次要filter 一次。
有冇巴打幫到手?
2021-03-27 14:37:08
真心覺得excel呢類電腦野個logic path好撚正,整到舊野出來又行得到真係幾有成功感
2021-03-27 14:40:07
老老實實
Cross sheet integration 嘅話Google Sheet好用好多,
配埋Google Script真係分分鐘成個ERP都寫到出嚟,又唔驚啲File會爛,改咗名搬咗Path又唔會出Error
2021-03-27 14:44:43
2021-03-27 14:56:57
淨係識condition format
2021-03-27 15:01:46
理論上用vba做
但我唔覺得會方便左
因為你都要入番個condition落去
每次同一個condition又另計
2021-03-27 16:42:21
整個view table扮hide得唔得?
唔得就要VBA

btw你比d例子嚟睇下先
condition & data
2021-03-27 20:40:13
呢個係單機版問題黎。
Excel 無辦法阻你 誤刪文件,已經唔係excel 控制範圍。
Google 全online 係無問題。
你要的話用excel 寫ERP 其實無話唔得。
2021-03-27 20:44:01
開一行column 做判斷要hide or not .
跟住你要用filter 或者 vba 去hide 都得。

好處係condition改的話只係改formula, vba 分離 左(好重要)
唔好處係要每行都要有。
2021-03-27 20:49:53
巴打好耐冇見
2021-03-27 21:02:03
想問下我行vba 間中個file會用用下就crash左
一run佢會直接收皮
我次次遇到就要搵返上個backup再貼返update料落去,雖然都冇咩大問題但好鬼煩,可以點避免?
2021-03-27 21:09:04
你下次有呢個問題果時留住個file
再幫你睇下咩事
2021-03-27 21:14:12
其實excel 將d 進階用家從 programming 解放出黎。
若果你只想要一般的data 處理 完全唔洗code就可以整出黎,成件事快左好多。
2021-03-27 21:37:40
好方法~
因為conditional format 可以範圍咁用。


若要用vba 可以試下以下code
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The Range that Cell value change will trigger update
    Set KeyCells = Range("A:C")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        Range("A:D").AutoFilter Field:=4, Criteria1:=False
    End If
End Sub

我係用filter check col D false先顯示,
Vba 就 cell value change 先 trigger filter

Column D 我係用=isnumber(b2) 咁試住先。
2021-03-27 23:23:33
我e 家就係開一個column 用if 去判斷出"hide", 上面用filter 去hide. 但個個row有時唔洗show 想automatic d, 唔洗次次做完都filter 一次。

我上網搵到個VBA 係話可以自己refresh filter 但唔知咩問題唔work.

利申:唔識寫vba
2021-03-27 23:45:41
諗左條新題目
但係我仲未諗哂點做
大家可以一齊試下做
呢條題目係歸類係Array puzzle入面
即係input只可以用一次
其他規則可以睇呢度:
https://www.excel4freehk.com/e4fhk/challenge/array-puzzle

注意: 因為條題目係自己諗,而且我係未諗到part C
所以到最後可以係無解

呢題分3 part
a) 有一個length = 9 col , 數值係1-9整數(可重覆)既array
例如{1,1,3,3,4,5,6,6,6}
請你想像係玩緊UNO,呢9個value分別係你手上嘅9隻牌
output係要決定第一次出牌打咩出去
出牌既原則係咁:
所有同number既牌可以同時打出
你會想一次打最多既牌, 其次就係最大number既牌
example:
input = {8,8,8,8,8,9,9,9,9}
output = 8 (因為8有5張,9得4張,所以打8先)
input = {1,8,8,8,8,9,9,9,9}
output = 9 (8同9 都有4張, 其中9係最大,所以打9)

b) 有一個length = 9 col * 4 row, 數值係1-9整數既array
例如{8,8,8,8,8,9,9,9,9;1,8,8,8,8,9,9,9,9;3,3,4,4,5,5,6,6,9;4,4,4,4,4,4,4,4,4}
依然係玩緊UNO, 但而家有4條友玩
output係要決定4條友第一次出牌會「想」打咩出去
example:
input = {8,8,8,8,8,9,9,9,9;1,8,8,8,8,9,9,9,9;3,3,4,4,5,5,6,6,9;4,4,4,4,4,4,4,4,4}
output =
{8,9,6,4}

c)
有一個length = 9 col * 4 row, 數值係1-9整數既array
例如{8,8,8,8,8,9,9,9,9;1,8,8,8,8,9,9,9,9;3,3,4,4,5,5,6,6,9;4,4,4,4,4,4,4,4,4}
依然係玩緊UNO, 但而家有4條友玩
output係要決定4條友第一次出牌「可以」打咩出去
如果冇牌可以打, 就出"PASS"
example:
input = {8,8,8,8,8,9,9,9,9;1,8,8,8,8,9,9,9,9;3,3,4,4,5,5,6,6,9;4,4,4,4,4,4,4,4,4}
output =
{8,9,9,"PASS"}
第一條友打左8
第二條友打9
第三條友原本想打6, 但係6<9, 所以佢只可以打9
第四條友成手都係4,冇牌可以打, 所以係"PASS"

成題就係咁
part a,b 大概諗到最做,應該值2粒星難度
part c 我估4-5粒星
2021-03-27 23:46:58
唔識都做到
你record 你filter TRUE果下動作
到時click左個制咪filter到
2021-03-28 00:18:00
我習慣左用 Ctrl+Shift+L re-apply filter
其實都幾方便, 習慣左就好順手好快
如果你要用VBA自動Re-apply既話就Copy下面果段
一定要放入張Worksheet度(Right Click worksheet tab, 檢視原始碼)
但用VBA之後你無得Ctrl + Z還原
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("A:Z")    '自己改個Range
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        ActiveSheet.AutoFilter.ApplyFilter
End If
End Sub
2021-03-28 00:18:39
巴打
2021-03-28 00:19:38
開一行column 做判斷要hide or not .
跟住你要用filter 或者 vba 去hide 都得。

好處係condition改的話只係改formula, vba 分離 左(好重要)
唔好處係要每行都要有。
我e 家就係開一個column 用if 去判斷出"hide", 上面用filter 去hide. 但個個row有時唔洗show 想automatic d, 唔洗次次做完都filter 一次。

我上網搵到個VBA 係話可以自己refresh filter 但唔知咩問題唔work.

利申:唔識寫vba
唔識都做到
你record 你filter TRUE果下動作
到時click左個制咪filter到
我習慣左用 Ctrl+Alt+L re-apply filter
其實都幾方便, 習慣左就好順手好快
如果你要用VBA自動Re-apply既話就Copy下面果段
一定要放入張Worksheet度(Right Click worksheet tab, 檢視原始碼)
但用VBA之後你無得Ctrl + Z還原
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("A:Z")    '自己改個Range
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        ActiveSheet.AutoFilter.ApplyFilter
End If
End Sub

打錯左, Ctrl + Alt + L 先啱
2021-03-28 00:20:09
2021-03-28 01:08:12
想用excel做一份簡易版既pos系統,會唔會好難整?
即係一版就入曬存貨資料,另一版就scan個產品會自動扣數同計銷售額。
賜油
2021-03-28 01:35:22
Hello, 多謝你既解答
因為data好多row 每個月refresh 會update 而且要搵唔同既first n
我有一堆sales data 入邊唔同SKU要計first n 嘅貨(range between 100-1000)嘅invoice amount
而個n可能會唔同...
2021-03-28 08:02:21

巴打好勁,一陣試試
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞