素人が組む単純なコードなのでシンプルかと思いますが、軽い構文(処理時間?)と言うことにはなんとも言えませんが参考まで。
手順.xlsm」ファイルではないファイルのファイル名を「B.xlsx」、そのファイルの「Sheet1」に実行させる場合としてみました。
Sub 別ファイルに色塗り()
Dim r As Long
With Workbooks(\u0026quot;B.xlsx\u0026quot;).Worksheets(\u0026quot;Sheet1\u0026quot;)
For r = 1 To .Cells(Rows.Count, \u0026quot;D\u0026quot;).End(xlUp).Row
If .Cells(r, \u0026quot;D\u0026quot;).Value = \u0026quot;通勤費\u0026quot; _
Or .Cells(r, \u0026quot;D\u0026quot;).Value = \u0026quot;交通費\u0026quot; _
Or .Cells(r, \u0026quot;D\u0026quot;).Value = \u0026quot;宿泊費\u0026quot; _
Or .Cells(r, \u0026quot;D\u0026quot;).Value = \u0026quot;コピー機\u0026quot; Then
.Rows(r).Interior.ColorIndex = 16
End If
Next r
End With
End Sub