今だけ人気マンガ100円レンタル特集♪

・フォントサイズ16
・中央揃え
・"あ"とゆう文字なら赤色に設定する

という
書式の設定と条件付き書式の設定がしたいのですが、
エラーが出てうまくいきません。
上記設定をしたいのは名前の定義「Area_書式」をしたセル内「A1:Z20」のみです。

処理上、他のブックも開いているため、書式設定したいブックの名前は指定したいです。


Workbooks("book1").Names.Add Name:="Area_書式", RefersToR1C1:="='sheet1'!A1:Z20"

with Workbooks("book1").Range(Area_書式)
.HorizontalAlignment = xlCenter
.Font = 16
.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=あ"
.FormatConditions(1).Font.ColorIndex = 3
end with

「オブジェクトはこのプロパティ、またはメソッドをサポートしていません」
とゆうエラーが出ます。
Workbooks("book1").Range(Area_書式).Select もできませんでした。
Range(Area_書式).Select は出来ました。
ブックの指定は出来ないのでしょうか。
どこがいけないでしょうか。よろしくお願いします。
Excel2002です。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ANo.1です。


それだけが問題じゃないみたいで、一応動く形にしてみましたが、とりあえず動いてるみたいだけど・・・
何か問題があるようなら、誰か指摘してください。

Sub test()
Workbooks("book1").Names.Add Name:="Area_書式", RefersTo:="='sheet1'!A1:Z20" 'RefersToR1C1は、R1C1形式で指定する場合です
With Workbooks("book1").Sheets("sheet1").Range("Area_書式") '名前は""でくくる
.HorizontalAlignment = xlCenter
.Font.Size = 16 'フォントのサイズ
.FormatConditions.Delete '今までの条件付き書式削除
.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="あ" '=いらない = は Operator:=xlEqual で定義している
.FormatConditions(1).Font.ColorIndex = 3
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
ブック内で同じ名前の定義を追加できないので、
シートの指定は要らないのかと勝手に思っていました。
回答例のようにしましたら、バッチリできました。

お礼日時:2007/12/17 13:44

rangeは、bookのsheetのrangeで指定します。


Range(Area_書式).Select
は、デフォルトのbookのデフォルトのsheetのrangeです。
デフォルトは、そのモジュールのある場所や現在アクティブのsheetによってかわるみたいです。

で、
Workbooks("book1").Range(Area_書式).Select
は、sheetの指定が無いからじゃないかと思いますが・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング