[[20220307214647]] 『VBA cellsで取得した値のrangeへの代入』(じゃんぼ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA cellsで取得した値のrangeへの代入』(じゃんぼ)

VBAについて質問です。

Excel内でこのファイルのこの部分に色掛けしたいというものをリストアップして一表にしており、例えば以下のcellsではG54という値(色掛けしたいセル番地)が入っています。
このG54という値を取得したあと、実際にG54に色掛けするために以下のようなマクロを組んだのですが、
「実行時エラー1004
rangeメソッドは失敗しました、worksheetオブジェクト」と出てきます。
どのようにすれば良いかわかりますでしょうか?
かなり色々なサイトを調べたのですがどうも以下のようなケースにあてはまるものがなく、こちらで質問させていただいています。
もしおわかりになる方がいましたら、よろしくお願いします。

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("コピー貼り付け")
c = ws.Cells(5, 4).Value
ws.Range("c").Interior.Color = rgbLightYellow

< 使用 Excel:Excel2013、使用 OS:Windows7 >


ws.Range(c).だとどうなりますか。

(マナ) 2022/03/07(月) 22:08


■1
既にマナさんから指摘があるように↓だとcという名前をつけたセル範囲という意味になってしまいます。
 Range("c")

■2
Sub〜End Subまでが1つのプロシージャと呼ばれるかたまりなので、最初から最後までを提示されたほうがお互いの誤解が無くてよいとおもいます。

■3
ということを踏まえ↓のように修正してみてはどうでしょうか。

    Sub さんぷる()
        With ThisWorkbook.Worksheets("コピー貼り付け")
            .Range(.Cells(5, 4).Value).Interior.Color = rgbLightYellow
        End With
    End Sub

(もこな2) 2022/03/08(火) 05:08


マナさん、もこな2さん、ありがとうございます!
(c)でできました!
かなり基本的なミスだったようで、お手数おかけしました。。。
(じゃんぼ) 2022/03/08(火) 09:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.