ワークシート内の特定の範囲の行を 1 行おきにシェーディングする単純な関数があります。
Public Function ShadeEveryOtherRow()
Sheets("mySheet").Select
ShadedRows = Range("myRange").Rows.Count
' determines the number of rows to shade in the range
' Code that loops through and shades rows here
End Function
特定のワークシート名と範囲を入力としてこの関数を呼び出せるようにしたいと思います。以下に示すように関数を記述し、test() サブルーチンを使用して実行しようとすると、「コンパイル エラー: 型が一致しません」というエラーが発生します。任意の支援をいただければ幸いです。ありがとう。
Public Function ShadeEveryOtherRow(targetSheet As Worksheet, targetRange As Range)
Dim targetSheet As Worksheet
Dim targetRange As Range
Sheets(targetSheet).Select
shadeRows = Range(targetRange).Rows.Count
'Code that shades rows here
End Function
Sub test()
ShadeEveryOtherRow "mySheet", "myRange"
End Sub