標題:
互動的下拉
[打印本頁]
作者:
hong912
時間:
2012-9-17 15:51
標題:
互動的下拉
請教大大們, 一個互動下拉問題,
工作表1是資料庫, a欄位是編號, b欄位是名稱, 而我想在工作表2a欄及b欄各設一下拉,
當我在a欄選擇編號b欄則傳回工作表1b欄名稱資料, 而我在b欄下拉選擇名稱, a欄同樣地把工作表1a欄資料傳回,
我曾用過名稱驗證, 但不成功, 故請教大大們, 先行謝過..
作者:
Hsieh
時間:
2012-9-17 16:47
回復
1#
hong912
工作表2的A、B欄設置好驗證
工作表2模組
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k%, d As Object, Rng As Range, A As Range
If Target.Column > 2 Or Target.Count > 1 Or Target(1) = "" Then Exit Sub
Application.EnableEvents = False
Set d = CreateObject("Scripting.Dictionary")
On Error Resume Next
Set Rng = Evaluate(Target.Validation.Formula1)
If Err.Number <> 0 Then GoTo 10
k = IIf(Target.Column = 2, -1, 1)
For Each A In Rng
d(A.Value) = A.Offset(, k).Value
Next
Target.Offset(, k) = d(Target.Value)
10
Application.EnableEvents = True
End Sub
複製代碼
作者:
hong912
時間:
2012-9-17 21:17
回復
2#
Hsieh
Hsieh版大, 謝謝回應, 已試用正是這種效果, 但運行較慢, 如當選擇了資料後, 另一欄位傳回的速度要等, 來個比如, 當選擇資料後, 開始心數1234至20左右, 另一欄位資料才傳回值, 是否有方法令速度變快..
其實版大的回應, 小弟已很衷心感謝, 祝願大大快樂, 謝謝!!
作者:
Hsieh
時間:
2012-9-17 21:28
回復
3#
hong912
你的驗證清單數量很大嗎?
或是有其他公式很多造成重算時間過長呢?
上傳你的檔案看看
作者:
hong912
時間:
2012-9-17 22:15
回復
4#
Hsieh
Hsieh版大, 好, 剛整理過資料夾, 的確是檔案過大, 現過問題己解決, 謝謝Hsieh版大再度回應, 祝願快樂, 謝謝!!
作者:
maiko
時間:
2012-9-19 08:20
好,剛剛需要這個東西,正好可以解決我的需要。
作者:
tommy.lin
時間:
2012-9-19 10:45
滿棒的做法說
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)