Board logo

標題: [發問] 請教: 如何在同一SHEET 內顯示選取資料? [打印本頁]

作者: markoxp    時間: 2014-5-23 17:25     標題: 請教: 如何在同一SHEET 內顯示選取資料?

本帖最後由 markoxp 於 2014-5-23 17:27 編輯

各位師兄/姐好,

請問如圖中  , 如何當用戶點選右邊的名字時, 月曆中的相同名字會以顏色標示?
e.g:  如我選取右邊的 apple, 月曆中的所有"apple" 都會著色( 或其他形式) 標示出來.

[attach]18350[/attach]
作者: yen956    時間: 2014-5-24 14:03

回復 1# markoxp
大大你好, 能不能附檔說明?
作者: markoxp    時間: 2014-5-26 15:35

回復  markoxp
大大你好, 能不能附檔說明?
yen956 發表於 2014-5-24 14:03


[attach]18375[/attach]
先謝謝你的回復 :handshake
作者: yen956    時間: 2014-5-26 20:32

回復 3# markoxp
試試看:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Dim Rng As Range
  3.    
  4.     '限定 Worksheet_Change的範圍
  5.     Set Rng = Range("L4:L12")
  6.     If Not Intersect(Target, Rng) Is Nothing Then
  7.         顯示查找資料 Target
  8.     End If
  9. End Sub

  10. Sub 顯示查找資料(ByVal Target As Range)
  11.     Dim sh As Worksheet
  12.     Dim findRng, Rng As Range
  13.     Dim str1 As String
  14.    
  15.     Set sh = Sheets("Sheet1")
  16.    
  17.     '設定 搜尋範圍
  18.     Set findRng = sh.[C3].Resize(26, 6)
  19.     findRng.Font.ColorIndex = 1  '先將字型顏色設為黑色
  20.    
  21.     Set Rng = findRng.Find(Target, LookAt:=xlPart)     '在 findRng 中 搜尋 ActiveCell, 部份搜尋
  22.    
  23.     If Rng Is Nothing Then
  24.         MsgBox "找不到【" & ActiveCell & "】", vbCritical
  25.         Exit Sub
  26.         
  27.     '搜尋結果變色顯示
  28.     Else
  29.         str1 = Rng.Address  '保存第一個搜尋結果的位址
  30.         Do
  31.             Rng.Font.ColorIndex = 3
  32.             Set Rng = findRng.FindNext(Rng)    '尋找下一個 Target
  33.         Loop Until Rng.Address = str1    '直到又回到第一個搜尋結果的位址
  34.     End If
  35.         
  36. End Sub
複製代碼

作者: markoxp    時間: 2014-5-29 17:41

謝謝大大, 回家再試試看,  感謝




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)