返回列表 上一主題 發帖

[發問] 顏色判別

本帖最後由 Andy2483 於 2022-12-30 08:10 編輯

回復 18# 准提部林


    謝謝前輩
今天藉此帖練習陣列與字典,將格式化條件改為VBA,請前輩再指導,謝謝前輩

執行前:


執行結果:


工作表模組:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
     If .Row < 3 Or .Value = "" Then Exit Sub
     If .Column Mod 4 <> 1 Then Exit Sub
     Cancel = True
     Call 變字色_多個同股名
     
     If Y(.Value & "|") > 1 Then Y(.Value).Interior.ColorIndex = 4
     Set Y = Nothing
     Set Brr = Nothing
End With
End Sub

Module1:
Option Explicit
Public Brr, Y
Sub 變字色_多個同股名()
Dim C&, R&
Set Y = CreateObject("Scripting.Dictionary")
ActiveSheet.UsedRange.Offset(2).Font.ColorIndex = 1
ActiveSheet.UsedRange.Offset(2).Interior.ColorIndex = xlNone
Brr = ActiveSheet.UsedRange
Set Y(1) = [B1]
For C = 1 To UBound(Brr, 2) Step 4
   For R = 3 To UBound(Brr)
      Y(Brr(R, C) & "|") = Y(Brr(R, C) & "|") + 1
      If Y(Brr(R, C) & "|") = 1 Then
         Set Y(Brr(R, C)) = Cells(R, C)
         GoTo PASS
      End If
      If Y(Brr(R, C) & "|") = 2 Then
         Set Y(1) = Union(Y(1), Y(Brr(R, C)))
      End If
      Set Y(1) = Union(Y(1), Cells(R, C))
      Set Y(Brr(R, C)) = Union(Y(Brr(R, C)), Cells(R, C))
      
PASS:
   Next
Next
Y(1).Font.ColorIndex = 5
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 20# samwang

謝謝大大

TOP

回復 19# coafort

請測看看,謝謝

test_1101.zip (20.69 KB)

TOP

回復  coafort

格式條件+vba
1) 重覆--藍色字
2) 對有重覆的股票名稱雙擊左鍵, 所有相同的標淺紅底
...
准提部林 發表於 2021-10-31 15:45


大大這個好方便
非常感恩大大提供的方法
感恩感恩無限:)

TOP

回復 10# coafort

格式條件+vba
1) 重覆--藍色字
2) 對有重覆的股票名稱雙擊左鍵, 所有相同的標淺紅底
Xl0000797.rar (15.27 KB)

用了countif, 範圍太大, 會很卡~~可惜是跳欄, 用match公式很長

TOP

回復  coafort

~~~~~~~~~~~~~
hcm19522 發表於 2021-10-30 14:52


非常謝謝大大的幫忙
有您真好
我明天研究看看:kiss:

TOP

回復 15# coafort

~~~~~~~~~~~~~

格式化 重複值 數據跳行 (9045).rar (7.83 KB)

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復  coafort


  格式化公式


或$AM 改 $A$3M$33
hcm19522 發表於 2021-10-30 13:24


謝謝大大
但是我弄不出來
是否可勞煩大大用小弟附件幫小弟弄呢?
謝謝大大
非常感恩

TOP

回復 13# coafort


  格式化公式
https://blog.xuite.net/hcm19522/twblog/590098778

或$A:$M 改 $A$3:$M$33
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

=(COUNTIF($A$3M$33,A3)>1)*(MOD(COLUMN(A1),4)=1)
hcm19522 發表於 2021-10-30 12:36


請問大大
這是?
謝謝

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題