此代碼需要超過10秒才能完成。有沒有更快的方法來做到這一點?我可以縮短代碼執行時間嗎?
如果連續特定小區由「H」字則隱藏整個行,這裏也有一個給定的背景顏色解釋單元格的內容,它的指數代碼爲19。
Option Explicit
Sub TailoredInputs()
Dim ws As Worksheet
Dim i, j, l As Integer
Set ws = Sheets("Inputs")
Application.ScreenUpdating = False
Range("A7:A200").EntireRow.Hidden = False
With ws
.Select
j = 10
Do While j <= 149
If .Cells(j, "J").Value = "H" Then
For l = 4 To 9
If .Cells(j, l).Interior.ColorIndex = 19 Then
.Cells(j, l).ClearContents
Else: End If
Next l
.Cells(j, "J").EntireRow.Hidden = True
Else: End If
If .Cells(j, "K").Value = "H" Then
For l = 4 To 9
If .Cells(j, l).Interior.ColorIndex = 19 Then
.Cells(j, l).ClearContents
Else: End If
Next l
.Cells(j, "J").EntireRow.Hidden = True
Else: End If
j = j + 1
Loop
Range("Spendinginput").Select
End With
Application.ScreenUpdating = True
End Sub
正如我說我是一個初學者,所以我選擇了與去循環,而不是Range.Find方法。因爲我不知道如何返回行號,所以我可以使用它來隱藏整個行和清除內容,如果「H」被發現。 – newguy
@RohanK,添加了代碼以顯示它的工作方式,並向您展示如何從'range.find()'返回的範圍之外獲得該行,以便正確地影響特定的行。 – paxdiablo