返回列表 上一主題 發帖

[發問] 用find 指令 找出符合顏色的儲存格 ??

回復 1# t8899

試試看
  1. Option Explicit
  2. Sub test() '刪除各表最後3個數據行
  3.    Dim sh As Worksheet, r
  4.    Application.FindFormat.Interior.ColorIndex = 35
  5.    For Each sh In Worksheets
  6.         r = sh.Cells.Find("*", , , , 1, 2, SearchFormat:=True).Row '『表格非空最大行號
  7.    Next
  8. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# t8899
  1.   r = sh.Cells.Find("", , , , 1, 2, SearchFormat:=True).Row '表格最大行號
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2016-6-24 07:56 編輯

回復 7# c_c_lai

可了解一下
  1. Sub Ex() '刪除各表最後3個數據行
  2.     Dim sh As Worksheet, r As Double, i As Integer
  3.     Application.FindFormat.Clear
  4.       On Error GoTo Er:
  5.     With Workbooks.Add
  6.         .Sheets(1).Range("a" & Rows.Count) = "test"
  7.         .Sheets(1).Range("a" & Rows.Count) = ""
  8.         For i = 1 To 10
  9.             For Each sh In .Worksheets
  10.             sh.Activate
  11.                 If i > 1 Then
  12.                     On Error GoTo 0
  13.                     With sh
  14.                         .Cells(i, 1) = "aa"
  15.                         .Cells(i, 1) = ""
  16.                     End With
  17.                 End If
  18.                 r = sh.Cells.Find("", , , , 1, 2).Row - 1 ' 表格最大行號  (同等於 SearchFormat:=False)
  19.                 Debug.Print i, sh.Name, r, "錯誤值 " & Err
  20.         Next
  21.     Next
  22.     .Close False
  23.     End With
  24. Exit Sub
  25. Er:
  26.     With sh
  27.         .Cells(i) = "aa"
  28.         .Cells(i) = ""
  29.     End With
  30.     Resume
  31. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

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