返回列表 上一主題 發帖

[發問] 異動資料自動反色(非點選儲存格反色)

[發問] 異動資料自動反色(非點選儲存格反色)

擷取.PNG
2018-1-8 22:41

請問如何使用VBA達到以下效果
1.點選【啟動】按鈕後,工作表1.2.3任何範圍,只要有異動資料的儲存格,均自動顯示為黃底紅字
2.選選【停止】按鈕後,停止自動反色功能,無論資料如何異動均無需反色效果

補充
1.並非點選儲存格反色效果,也就是無論滑鼠點選哪一儲存格或停留在哪一儲存格,均不影響。只有點選進入儲存格異動資料後才會反色
2.工作表可能新增或減少,因此希望可以指定,所以不是整個excel檔的所有活頁簿都要有此功能

範例
C4:D14為原始資料,點選【啟動】後,C23、C30、D27因為有異動資料,所以自動反色


測試.rar (8.32 KB)
*宅女一枚無誤*

請問如何使用VBA達到以下效果
1.點選【啟動】按鈕後,工作表1.2.3任何範圍,只要有異動資料的儲存格,均 ...
msmplay 發表於 2018-1-8 22:43


如果沒有一定要VBA,用設定格式化的條件也可以達到。
1.
2018-01-10_120243.jpg
2018-1-10 12:05

2.
2018-01-10_115942.jpg
2018-1-10 12:06

3.
2018-01-10_120119.jpg
2018-1-10 12:06

測試.zip (293.97 KB)

TOP

回復 2# kim223824


   k大~非常感謝幫忙,但其實那個上下圖示只是舉例的意思啦!並不是比對差異反色,而是所有範圍只要有資料被異動即反色的意思
而且是希望按下啟動按鈕才開始資料變更反色,按下停止按鈕時無需反色效果,醬~~~~~不知是否有解呢?
*宅女一枚無誤*

TOP

回復 3# msmplay
依下面代碼,然後按鈕指定到巨集 ClickStart 和 ClickStop

Module1
  1. Public bIsStart As Boolean
  2. Public colChange As Collection

  3. Sub ClickStart()
  4.     If bIsStart Then MsgBox "已經是啟動狀態": Exit Sub
  5.     bIsStart = True
  6.     Set colChange = New Collection
  7. End Sub

  8. Sub ClickStop()
  9.     bIsStart = False
  10.     If Not colChange Is Nothing Then
  11.         For Each rng In colChange
  12.             rng.Interior.Color = xlNone
  13.             rng.Font.Color = xlAuto
  14.         Next
  15.         Set colChange = Nothing
  16.     End If
  17. End Sub
複製代碼
ThisWorkbook
  1. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  2.     If bIsStart Then
  3.         If Sh.Name = Sheets(1).Name _
  4.             Or Sh.Name = Sheets(2).Name _
  5.             Or Sh.Name = Sheets(3).Name Then
  6.             
  7.             colChange.Add Target
  8.             Target.Interior.Color = vbYellow
  9.             Target.Font.Color = vbRed
  10.         End If
  11.     End If
  12. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 4# stillfish00


   s大~~~~~~好厲害喔!!!!這就是小妹所需的功能~~~~~~再次感謝你的熱心幫忙喔!!!
*宅女一枚無誤*

TOP

回復 4# stillfish00


   s大~~~~不好意思可以再請教一個題外題嗎就是如果想要讓檔案ㄧ打開「啟動」效果就自動啟動的話,該怎麼修改或新增程式碼呢?
ㄝ就是除非按下「停止」,否則反色效果就一直開著,請問這可行嗎?
*宅女一枚無誤*

TOP

回復 6# msmplay
add in ThisWorkbook
  1. Private Sub Workbook_Open()
  2.     ClickStart
  3. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 7# stillfish00


   s大~~~~~再次感謝幫忙ㄛ!!!
*宅女一枚無誤*

TOP

回復 7# stillfish00

stillfish00大,
如果原資料的儲存格不等於異動資料的內容,或是異動資料有做變動時都會變色,這樣程式碼要怎樣做修改?

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題