Board logo

標題: 儲存格填滿與篩選 [打印本頁]

作者: linsurvey2005    時間: 2015-5-26 17:31     標題: 儲存格填滿與篩選

請問前輩
工作表"水果"裡面,有"蘋果"的儲存格,要填滿黃色,還要計算有幾個儲存格
PS:水果名稱要可以選擇(工作表"水果"內的全部水果名稱,如果到工作表"海產"有全部海產名稱可選擇)
     填滿的顏色要可以選擇
     計算出來儲存格數量有小視窗可以顯示數據或儲存格位置(蘋果總數=4,位置在=A1,B20,G11,K6)
     最後可以清除填滿顏色的儲存格的功能(只要清除顏色就好,資料還要保留)
拜託了
作者: Hsieh    時間: 2015-5-26 21:59

回復 1# linsurvey2005
試試看附件
[attach]21044[/attach]
作者: linsurvey2005    時間: 2015-5-27 18:28

功力太深了,全部作業都加在一起了進行

我跟不上啦~可以切開進行嗎?點選其它工作表可以不要執行程式嗎?
程式1:儲存格填滿結束
程式2:顯示資料位置結束
程式3:刪除顏色

PS:可以有顏色的選擇嗎?
自己不懂如何切開
拜託
作者: GBKEE    時間: 2015-5-28 10:01

回復 3# linsurvey2005
  1. Dim D As Object, xColor As Integer      '模組內的私用變數(模組內的程式可用這變數)
  2. Private Sub UserForm_Initialize()  '表單初始化(未顯示時)的預設事件
  3.     Set D = CreateObject("Scripting.Dictionary")  '字典物件
  4.     With ActiveSheet
  5.         For Each A In .UsedRange
  6.             If A <> "" Then
  7.                 If D.EXISTS(A.Value) Then '字典物件(A.Value) 存在 條件成立
  8.                     Set D(Trim(A)) = Union(D(Trim(A)), A)
  9.                     'Union 方法  傳回兩個或多個範圍的合併範圍
  10.                 Else
  11.                     Set D(Trim(A)) = A  '設立字典物件(A.Value)為儲存格
  12.                 End If
  13.             End If
  14.         Next
  15.         Label1.Caption = .Name              '工作表的名稱
  16.         .Cells.Interior.ColorIndex = xlNone '刪除顏色: 顏色=無
  17.     End With
  18.     ComboBox1.List = D.keys
  19.     UserForm_Click                          '可以有顏色的選擇嗎?
  20. End Sub
  21. Private Sub ComboBox1_Change()
  22.     With ActiveSheet
  23.         '.Cells 儲存格物件的集合
  24.         .Cells.Interior.ColorIndex = xlNone '刪除顏色: 顏色=無
  25.         If ComboBox1.ListIndex > -1 Then    '-1 不在ComboBox1的List中
  26.             D(ComboBox1.Value).Interior.ColorIndex = xColor  '儲存格填滿
  27.             MsgBox ComboBox1 & "總數=" & D(ComboBox1.Value).Cells.Count & vbLf & "儲存格位置在  " & D(ComboBox1.Value).Address
  28.         End If
  29.     End With
  30. End Sub
  31. Private Sub UserForm_Click()  '在表單上按下滑鼠的事件
  32.     Do
  33.         xColor = Application.InputBox("請選擇輸入顏色號碼: 1-56 !! ", Type:=1)
  34.     Loop Until xColor >= 1 And xColor <= 56
  35.    
  36. End Sub
複製代碼

作者: linsurvey2005    時間: 2015-5-28 14:50

可以正常運用了
感謝二位大大了
讓大大寫那麼多註解,感恩了




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