返回列表 上一主題 發帖

[發問] 下拉選單模糊搜尋後相同名稱不同值之困惑...

[發問] 下拉選單模糊搜尋後相同名稱不同值之困惑...

有一套印表單
下拉選單模糊搜尋後相同名稱不同值之困惑...
所需客戶基本資料中戶名有相同之客戶擁有不同之帳號
如下圖所示:



在套印表單中,先在 A4 編輯區輸入所需戶名 永豐 之相關字搜尋...


經模糊搜尋出現 4 筆符合永豐相關字之戶名,因所需正確戶名是 永豐商業銀行股份有限公司
因客戶基本資料中戶名 永豐商業銀行股份有限公司 擁有 3 筆不同帳號之銀行帳號
該下拉選單該如何設計
讓相同之戶名選擇時(能在下拉表單選擇時出現提示帳號之顯示嗎?...比較容易選擇想套印之戶名及帳號)
才能點選正確該筆之對應帳號
套印時出現 永豐商業銀行股份有限公司 是必要文字(戶名)   



(問題重點在於相同戶名多筆資料,只能出現對應的第一筆資料帳號...該如何修正公式才能讓所選之戶名對應所建之帳號、銀行、分行及金融代碼)

1110506.rar (172.6 KB)

回復 21# samwang

非常感謝您...samwang

針對多次所述問題均能詳細耐心解惑  ^^

獲益良多...工欲善其事,必先利其器(工作上帶來非常便利省時易用)心存感恩

TOP

回復 20# cypd

VBA公式作動後
若 C 欄有新數據輸入時會造成 C1 底色不見
若 D 欄有新數據輸入時會造成 D1 底色不見
>> 改由第2列開始如下
With Sheets("客戶基本資料")
    .Unprotect Password:="1234"  '解保護,密碼自行修改
     Arr = .Range(.Cells(1, C), .Cells(Rows.Count, C).End(3))
     .Range(.Cells(2, C), .Cells(Rows.Count, C)).Font.ColorIndex = 0
     .Range(.Cells(2, C), .Cells(Rows.Count, C)).Interior.ColorIndex = 0


原保護工作表內之設定失效
(自行設定列格式及使用自動篩選無法使用...恢復預設值)
>> 依您原來的格式修改如下,請再試看看,謝謝
.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingRows:=True, AllowFiltering:=True
'保護,密碼自行修改

TOP

本帖最後由 cypd 於 2022-7-26 15:16 編輯

回復 19# samwang

煩問  samwang...
關於上述 VBA 作動之後所產生相關疑問 ?

VBA公式作動後
若 C 欄有新數據輸入時會造成 C1 底色不見
若 D 欄有新數據輸入時會造成 D1 底色不見

原保護工作表內之設定失效
(自行設定列格式及使用自動篩選無法使用...恢復預設值)




0726.rar (147.23 KB)

TOP

回復 18# cypd

另外
.Unprotect Password:="1234"  '保護,密碼自行修改(多了 Un 無法進行保護)
已刪除 Un…測試 OK

>> 不好意思,沒有更新到,如您修改UN要刪除,謝謝

TOP

回復 17# samwang

太神了感謝您了...samwang
所遇之問題瓶頸大致已獲得解決…^^感恩
另外
.Unprotect Password:="1234"  '保護,密碼自行修改(多了 Un 無法進行保護)
已刪除 Un…測試 OK

TOP

本帖最後由 samwang 於 2022-7-25 07:47 編輯
回復  samwang

太感謝您了...samwang

C 或 D 欄出現相同數據時...刪除下列數據之後儲存格會有填滿之 ...
cypd 發表於 2022-7-24 20:23


請測試看看,謝謝
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Arr, xD, C%, T$, m&, i&
If Target.Column = 3 Then C = 3
If Target.Column = 4 Then C = 4
If C = 0 Then Exit Sub
Set xD = CreateObject("Scripting.Dictionary")
With Sheets("客戶基本資料")
    .Unprotect Password:="1234"  '解保護,密碼自行修改
     Arr = .Range(.Cells(1, C), .Cells(Rows.Count, C).End(3))
     .Range(.Cells(1, C), .Cells(Rows.Count, C)).Font.ColorIndex = 0
     .Range(.Cells(1, C), .Cells(Rows.Count, C)).Interior.ColorIndex = 0
     For i = 1 To UBound(Arr)
         T = Arr(i, 1)
         If xD.Exists(T) Then
             m = xD(T)
             .Cells(m, C).Font.ColorIndex = 3
             .Cells(m, C).Interior.ColorIndex = 36
             .Cells(i, C).Font.ColorIndex = 3
             .Cells(i, C).Interior.ColorIndex = 36
         End If
         xD(T) = i
     Next
    .Unprotect Password:="1234"  '保護,密碼自行修改
End With
End Sub

TOP

回復 15# samwang

太感謝您了...samwang

C 或 D 欄出現相同數據時...刪除下列數據之後儲存格會有填滿之色彩存在(已解決所述問題  ^^)



該工作表因有相關之公式運算,為確保誤刪造成資料錯誤...設有  [保護工作表]
因保護工作表之關係造成...執行階段錯誤 "1004"
再度麻煩您修正...感恩  ^^

TOP

回復  samwang
太感謝您了...samwang

速度方面問題已 OK
經測試另有問題出現如下
若是 C 或 D 欄出現 ...
cypd 發表於 2022-7-24 11:33


修改如下移除.End(3),請測試看看,謝謝
With Sheets("客戶基本資料")
    Arr = .Range(.Cells(1, C), .Cells(Rows.Count, C).End(3))
    .Range(.Cells(1, C), .Cells(Rows.Count, C)).Font.ColorIndex = 0
    .Range(.Cells(1, C), .Cells(Rows.Count, C)).Interior.ColorIndex = 0

TOP

回復 13# samwang
太感謝您了...samwang

速度方面問題已 OK
經測試另有問題出現如下
若是 C 或 D 欄出現相同數據時...刪除下列數據之後儲存格會有填滿之色彩存在 ???



TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題