透過VBA,新增組合框控制元件,然後透過事件更新,完全可以做到 不過LZ為什麼不換個思路啊,為什麼一定要用VBA呢,要知道你EXCEL使用VBA,別人用的時候,需要修改宏的安全級別,同時,利用資料有效性,就可以完全可以做到啊。在某一個單元格(假定為A2)設定資料有效性,下拉選單中設定op1和op2,供你選擇。然後,在H2輸入公式:=IF(A2="op1",H3,IF(A2="op2",H4,"")) ListBox屬於ActiveX 控制元件,看你的EXCEL版本,如果03版的話,自行找一下,具體路徑忘了,07 10版的話,在EXCEL選項中,找到自定義工具,然後勾選“開發工具”,然後插入這個控制元件就可以了。需要說明的是,ListBox是一個顯示可選項的控制元件,就像EXCEL一樣,它會顯示你屬於的值,1個或很多個,然後,你選擇就可以了。 我簡單給你做了個樣品,你自己修改吧第一步,是給控制元件賦值,也就是將op1和op2顯示在ListBox控制元件中,我透過命令完成的Private Sub CommandButton1_Click()With ListBox1 .Clear.AddItem "op1".AddItem "op2" End WithEnd Sub這樣,ListBox中就有了這2個選項,不是我們一般的單選或者複選框那種的。 下面就是選op1時,H2=H3選op2時,H2=H4插入程式碼:Private Sub ListBox1_Click()If ListBox1.Value = "op1" Then Range("H2") = Range("H3")If ListBox1.Value = "op2" Then Range("H2") = Range("H4")End Sub 至於ListBox選項前,是否需要單選框,請在ListBox屬性中設定~ 如果對VBA不是很瞭解的話,可以PM我,我給你發個模板~~ PS:不知道為什麼,現在很多EXCEL使用者,用EXCEL的工具或函式就可以解決的,卻一定要用VBA。不懂~~
透過VBA,新增組合框控制元件,然後透過事件更新,完全可以做到 不過LZ為什麼不換個思路啊,為什麼一定要用VBA呢,要知道你EXCEL使用VBA,別人用的時候,需要修改宏的安全級別,同時,利用資料有效性,就可以完全可以做到啊。在某一個單元格(假定為A2)設定資料有效性,下拉選單中設定op1和op2,供你選擇。然後,在H2輸入公式:=IF(A2="op1",H3,IF(A2="op2",H4,"")) ListBox屬於ActiveX 控制元件,看你的EXCEL版本,如果03版的話,自行找一下,具體路徑忘了,07 10版的話,在EXCEL選項中,找到自定義工具,然後勾選“開發工具”,然後插入這個控制元件就可以了。需要說明的是,ListBox是一個顯示可選項的控制元件,就像EXCEL一樣,它會顯示你屬於的值,1個或很多個,然後,你選擇就可以了。 我簡單給你做了個樣品,你自己修改吧第一步,是給控制元件賦值,也就是將op1和op2顯示在ListBox控制元件中,我透過命令完成的Private Sub CommandButton1_Click()With ListBox1 .Clear.AddItem "op1".AddItem "op2" End WithEnd Sub這樣,ListBox中就有了這2個選項,不是我們一般的單選或者複選框那種的。 下面就是選op1時,H2=H3選op2時,H2=H4插入程式碼:Private Sub ListBox1_Click()If ListBox1.Value = "op1" Then Range("H2") = Range("H3")If ListBox1.Value = "op2" Then Range("H2") = Range("H4")End Sub 至於ListBox選項前,是否需要單選框,請在ListBox屬性中設定~ 如果對VBA不是很瞭解的話,可以PM我,我給你發個模板~~ PS:不知道為什麼,現在很多EXCEL使用者,用EXCEL的工具或函式就可以解決的,卻一定要用VBA。不懂~~