|
▼さとちぃ さん:
>早速のご回答ありがとうございました。
>いろいろトライしてみたのですが、
>
>Set r = Worksheets(Sheetname).UsedRange
>
>の部分にて、インデックスが有効範囲にありませんという形で
>エラーが出ます。
「インデックスが有効範囲にありません」というエラーは、今回のばあい
Sheetnameの中に入っているシート名が 実際のシート名に無い ことが原因と
考えられます。
Sheetname のなかに C列1行目の "Aグループ企業" が入っているとして、
「Aグループ企業」というシートは実際に存在しますか?
チェックのため、上の1行を複数行に分割して、
Dim r As Range
Dim ws as Worksheet
On Error Resume Next
Set ws = Worksheets(Sheetname)
On Error Goto 0
If ws Is Nothing Then
MsgBox Sheetname & " という名前のシートがありません"
Exit Sub
End If
Set r = ws.UsedRange
としてみてください。
>私なりに考えてみたのですが、対象シートの選択の為に
>If文による条件設定が必要ではないかと思ったのですが
>いかがでしょうか?
元シートの1行目に 検索対象シートのシート名が書いてあるのであれば、
対象シートを Worksheets(Sheetname) で特定できるので、ジャンプしたり
選択したりする必要はありません(ただし、セル塗りつぶしの結果をみたいので
そのシートへジャンプしたいというのであれば、 ws.Activate する必要があり
ます)
|
|