如何同時選中第一列和第二列所有填充色為黑色的單元格
uj5u.com熱心網友回復:
Sub Test()
Dim cel As Range, aa As Range
For Each cel In Range("A:B")
If cel.Interior.ColorIndex = 1 Then
If aa Is Nothing Then Set aa = cel Else Set aa = Union(aa, cel)
End If
Next
If Not aa Is Nothing Then aa.Select
End Sub
uj5u.com熱心網友回復:
參考 1 樓 >_<s的回復: Sub Test()
Dim cel As Range, aa As Range
For Each cel In Range("A:B")
If cel.Interior.ColorIndex = 1 Then
If aa Is Nothing Then Set aa = cel Else Set aa = Union(aa, cel)
End If
Next
If Not aa Is Nothing Then aa.Select
End Sub
運行后一個單元格都沒選中。而且代碼運行后很卡。
問題補充下,如A1至B10中每個單元格都有數字值,幾個單元格為黑色,幾個為黃色,目前想用代碼實作,選中填充色為黑色的單元格。你的代碼實作不了
uj5u.com熱心網友回復:
Quote: 參考 2 樓 qq_20320947 的回復:
有具體的區域限制把RANGE里的范圍改了就不卡了,如下:
Sub Test()
Dim cel As Range, aa As Range
For Each cel In Range("A1:B10")
If cel.Interior.ColorIndex = 1 Then
If aa Is Nothing Then Set aa = cel Else Set aa = Union(aa, cel)
End If
Next
If Not aa Is Nothing Then aa.Select
End Sub
是能選擇中的,除非你單元格的填充色不是純黑色要選哪個區改ColorIndex 對應顏色的數字就行,顏色對照表和運行結果可以看圖片
uj5u.com熱心網友回復:
樓上倒數第一張是運行前,倒數第二張是運行后,仔細看是有選中單元格的
uj5u.com熱心網友回復:
不好意思,我運行代碼后,還是實作不了。仔細看了才發現,我是先用條件格式獲取單元格的顏色為黑色,A1:B10 之間的單元格數值根據條件格式已經設定好了單元格的填充色為黑色,現在主要是要選中條件格式設定后的黑色。運行您的代碼后發現單元格通過條件格式設定后的黑色沒法選中,如果是用自己手動填充的單元格黑色的,用了您的代碼確實能實作。 這個問題困擾很久了,還麻煩您幫忙處理下,謝謝!補充的問題 應該改為 條件格式設定后的單元格為黑色 用VBA代碼如何實作選中。
uj5u.com熱心網友回復:
參考 5 樓 qq_20320947 的回復: 不好意思,我運行代碼后,還是實作不了。仔細看了才發現,我是先用條件格式獲取單元格的顏色為黑色,A1:B10 之間的單元格數值根據條件格式已經設定好了單元格的填充色為黑色,現在主要是要選中條件格式設定后的黑色。運行您的代碼后發現單元格通過條件格式設定后的黑色沒法選中,如果是用自己手動填充的單元格黑色的,用了您的代碼確實能實作。 這個問題困擾很久了,還麻煩您幫忙處理下,謝謝!補充的問題 應該改為 條件格式設定后的單元格為黑色 用VBA代碼如何實作選中。 方上傳附件嗎
uj5u.com熱心網友回復:
試試看,看看顏色對不對:
Sub test()
Dim objRange As Range
For Each objRange In Sheet1.Range("A1:B10")
Debug.Print objRange.Interior.Color
Next
End Sub
uj5u.com熱心網友回復:
參考 7 樓 milaoshu1020的回復: 試試看,看看顏色對不對:
Sub test()
Dim objRange As Range
For Each objRange In Sheet1.Range("A1:B10")
Debug.Print objRange.Interior.Color
Next
End Sub
你這個代碼???怎么會對呢?
uj5u.com熱心網友回復:
你可以通過這個代碼查看自動生成的顏色和你自己填充的顏色是否一致;
uj5u.com熱心網友回復:
首先,建議樓主把問題描述完整:A:B列用條件格式根據 資料 設定了不同的顏色,需要代碼實作 選中A:B列中 所有相同顏色的單元格
uj5u.com熱心網友回復:
參考 8 樓 qq_20320947 的回復: Quote: 參考 7 樓 milaoshu1020的回復: 試試看,看看顏色對不對:
Sub test()
Dim objRange As Range
For Each objRange In Sheet1.Range("A1:B10")
Debug.Print objRange.Interior.Color
Next
End Sub
你這個代碼???怎么會對呢?
這是讓你檢查所有格子的顏色是不是都是一樣的。
比如 rgb(0,0,0)是黑色, rgb(5,5,5) 看上去也是挺黑的,但程式就不認為這是同一種顏色
uj5u.com熱心網友回復:
參考 11 樓 脆皮大雪糕 的回復: Quote: 參考 8 樓 qq_20320947 的回復:
Quote: 參考 7 樓 milaoshu1020的回復: 試試看,看看顏色對不對:
Sub test()
Dim objRange As Range
For Each objRange In Sheet1.Range("A1:B10")
Debug.Print objRange.Interior.Color
Next
End Sub
你這個代碼???怎么會對呢?
這是讓你檢查所有格子的顏色是不是都是一樣的。
比如 rgb(0,0,0)是黑色, rgb(5,5,5) 看上去也是挺黑的,但程式就不認為這是同一種顏色
樓主說了是用條件格式標記的顏色,這個用代碼讀不出來
uj5u.com熱心網友回復:
參考 9 樓 milaoshu1020的回復: 你可以通過這個代碼查看自動生成的顏色和你自己填充的顏色是否一致;
這個顏色沒錯。就是黑色。感謝大家的幫助,目前還是沒有研究出來,就是用條件格式設定好的單元格顏色怎么選中,這個問題好難!
uj5u.com熱心網友回復:
參考 12 樓 米老鼠yeah的回復: Quote: 參考 11 樓 脆皮大雪糕 的回復:
Quote: 參考 8 樓 qq_20320947 的回復:
Quote: 參考 7 樓 milaoshu1020的回復: 試試看,看看顏色對不對:
Sub test()
Dim objRange As Range
For Each objRange In Sheet1.Range("A1:B10")
Debug.Print objRange.Interior.Color
Next
End Sub
你這個代碼???怎么會對呢?
這是讓你檢查所有格子的顏色是不是都是一樣的。
比如 rgb(0,0,0)是黑色, rgb(5,5,5) 看上去也是挺黑的,但程式就不認為這是同一種顏色
樓主說了是用條件格式標記的顏色,這個用代碼讀不出來
謝謝您補充好我的問題,其實換句話中就是選中用條件格式設定好的單元格,例如黑色,這樣怎么選中呢?
如果手動填充的黑色用二三樓朋友的回復代碼是可以執行的。但實際上還是沒處理好我想要的結果。
uj5u.com熱心網友回復:
Quote: 參考 14 樓 qq_20320947 的回復:
如果是條件格式的話你沒必要糾結于顏色啊,你不是設定有條件么,你把我二三樓代碼里IF里的條件換成你條件格式的條件就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/25202.html
標籤:VBA
上一篇:VBA 獲取指定檔案路徑下的檔案串列
下一篇:求助:之前運行沒有問題,后來重裝系統重裝office就報錯:應用程式定義或物件定義錯誤1004