プロが教える店舗&オフィスのセキュリティ対策術

マクロを使用した際に新規でシートを作りそこに新たに表を張り付けるって可能なのでしょうか

可能でしたらマクロボタンを使用し指定した表をコピーし別シートに張り付ける方法を
教えてほしいです。

表の頭はA3から始まります。

もし、可能な場合コピーする際にコピー元の表の計算式はやはり反映された状態になるのでしょうか?

よろしくお願いします。

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

  • うれしい

    回答ありがとうございます。
    新シートに張り付けるやり方できました、追加になってすみませんが
    貼り付け先をもともとおいてある別シートに張り付けることって出来るのでしょうか?
    (別シートの張り付け先もA3セルで大丈夫です)

    別件の件ですがSUBTOTALを集計する部分に別の計算式を組み込んでおり
    それがSUBTOTALの計算式に上乗せされている状態になってしまっています。
    表全体に計算式を入れてあります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/02/23 13:03

A 回答 (2件)

こんな感じでどうでしょう。



Sheets("Sheet1").Range("A3").CurrentRegion.Cells.Copy
Sheets("もともとあるシート名").Range("A3").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False

もし、「もともとあるシート」の方が広い範囲を使っていて、今回コピーする範囲の方が小さい場合、はみ出した部分が残ってしまいます。事前に「もともとあるシート」の内容をクリアしておいた方が良いかもしれません。

Sheets("もともとあるシート名").Cells.Clear
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
うまくできました、本当に助かりました。
クリアの方試してみましたが大丈夫そうでした
ご親切にありがとうございます。

お礼日時:2016/02/23 14:06

新シートを作成し、そこに元シート(Sheet1のA3セルを含むアクティブセル範囲)の値だけを張り付ける例です。


新シートの張り付け先もA3セルとしています。
(ご自分でマクロを記録してみた方が、分かりやすいかもしれませんが・・・)

Sheets("Sheet1").Range("A3").CurrentRegion.Cells.Copy
Sheets.Add(, Worksheets(Sheets.Count)).Range("A3").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False



別件ですが・・・
SUBTOTALメソッドで、「消えてしまう行がある」みたいな質問をしていましたよね?
実は回答を書いていたら閉め切られてしまったので、ここで回答させていただきます。

SUBTOTALメソッドで集計を行う範囲内に、SUBTOTALで値を求めているセルがありませんか?
SUBTOTALは、その集計範囲内にSUBTOTALが使われている場合、その行を無視します。
他の行は集計されているので、それと同じ要領で金額を求めるようにすれば、抜けはなくなると思います。
この回答への補足あり
    • good
    • 0

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