返回列表 上一主題 發帖

[發問] Office VBA,在範圍內搜尋有無刪除線並變色

[發問] Office VBA,在範圍內搜尋有無刪除線並變色

小弟,這樣寫之後,並沒有反應....
不知道是哪個環節出錯了,還請各位大大可以幫忙看一下。

搜尋特定範圍內是否有 "刪除線",找到了就將儲存格變色

Sub test2()
With Worksheets(1).Range("a1:w100")
Set c = .Find(.Font.Strikethrough, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
c.Font.Color = rgbRed
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
    End If
    End With
End Sub

回復 2# joblyc017


使用方面還滿不錯∼
因為想達到,自動判別並變色。
所以後續找到下列方式︰
  1. Sub test()
  2.     Dim c As Range, x As Long
  3.     For Each c In Range("o4:w181")
  4.     For x = Len(c.Value) To 1 Step -1
  5.     If c.Characters(x, 1).Font.Strikethrough Then
  6.                     c.Interior.Color = rgbRed
  7.                     Else
  8.                     c.Interior.Color = rgbWhite
  9.                 End If
  10.             Next
  11.             Next
  12.     End Sub
複製代碼
不過因為判別範圍較大的話,會造成lag...所以後續放棄... ...

TOP

回復 4# ML089


這個差別在哪邊呢?
試用後,判斷非常的迅速
S%的部份,以及 後面的 S=S+1

抱歉,我處於初學部份,還需要大家的指導∼

TOP

回復 6# ML089

抱歉,我想問的是

S%的部份是在處理文字需要第幾個?
若是判斷文字第2個,則 改成 S=S+2,這樣嗎?
則 If S>0 改成 >1?

還麻煩你指導了,謝謝。

TOP

回復 8# ML089


原來是這樣,謝謝指導∼

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題