アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ初心者です。
どうしてもうまくいかないので教えてください。

シート”A”のセルの式をシートを切り替えずに、シート”B”の一定範囲に貼り付けたいと思っています。1対1のセルならば

 Worksheets("B").Cells(1, 1) = Worksheets("A").Cells(1, 1)

という感じでシートを切り替えることなくうまくコピーできるのですが、以下のようにすると

 Worksheets("B").Range(Cells(1, 1)、Cells(1, 3)) = Worksheets("A").Cells(1, 1)

ワークシート”B”上からなら動くのですが、他のワークシート上からだと
『実行時エラー’1004’:アプリケーション定義またはオブジェクト定義のエラーです。』
と出てきてしまいます。
こういった場合、シートを切り替えずに式を張り付けるにはどうしたらいいでしょうか?

質問者からの補足コメント

  • すいません!!
    式を間違えました。
    セル1対1だと
    Worksheets("A").Cells(1, 1).Copy Worksheets("B").Cells(1, 1)

    セル1対複数だと
    Worksheets("A").Cells(1, 1).Copy Worksheets("B").Range(Cells(1, 1), Cells(1, 3))

    です。すいません!
    よろしくお願いします!!

      補足日時:2018/08/24 11:37

A 回答 (2件)

Worksheets("A").Cells(1, 1).Copy Worksheets("B").Range(Cells(1, 1), Cells(1, 3))



Worksheets("A").Cells(1, 1).Copy Worksheets("B").Range(Worksheets("B").Cells(1, 1), Worksheets("B").Cells(1, 3))
としてください。
    • good
    • 0
この回答へのお礼

できました!!
なるほど、Cellsを起点/終点で使うときにWorksheetsをそれぞれの頭に加えるといいんですね。よくわかりました。
ありがとうございます!

お礼日時:2018/08/24 15:12

こんにちは!



タイトルが
>一つのセルの式を・・・
となっていますので、
「A」シートのA1セルの数式をそのまま「B」シートのA1~C1セルの数式にしたい!という解釈です。

コピー&ペーストではありませんが、

Worksheets("B").Range("A1:C3").Formula = Worksheets("A").Range("A1").Formula

ではどうでしょうか?

※ 「A」シート、A1セルの数式がどんな数式か判らないので、
数式次第によってエラーになることがあるかもしれません。m(_ _)m
    • good
    • 1

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