質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Office 365

Office 365は、マイクロソフトが販売している企業向けクラウドベースのグループウエアサービス。電子メールや予定表、Webサイト構築、オンラインストレージ、ビデオ会議などビジネスで必要な機能を備えています。クラウドサービスのため、自社での専用サーバーの設置の必要がないことが特徴です。

Q&A

解決済

2回答

16363閲覧

VBA copyメソッド 図形までコピーされてしまいます。

tttkkk

総合スコア38

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Office 365

Office 365は、マイクロソフトが販売している企業向けクラウドベースのグループウエアサービス。電子メールや予定表、Webサイト構築、オンラインストレージ、ビデオ会議などビジネスで必要な機能を備えています。クラウドサービスのため、自社での専用サーバーの設置の必要がないことが特徴です。

0グッド

0クリップ

投稿2020/12/14 12:52

稚拙な質問かもしれませんが、VBAを勉強し始めたばかりで、ネットで調べてもよく分からない部分が多かったので、こちらで質問させて頂きました。

あるシートから別のシートにセル範囲をコピーしたく、copyメソッドを使用しているのですが、その際に指定したセル範囲にある図形までもコピーされてしまいます。

私としてはセルの内容(書式や値)だけを別シートにコピーしたいのみで、図形まではコピーしたくはないのですが、図形はコピーしない方法はあるのでしょうか。

もし今の私の状況のように図形ごとコピーする方法しかなくても、別シートに貼り付けた先で図形のみを削除する方法でも構いません。

VBA

1Sheets(1).Range("c5:k47").Copy Sheets(3).Range("a3")

上記のように、一番目のシートのC5からK47をコピーして、三番目のシートのA3へと貼り付けたいのですが、コピーの選択範囲にある図形も三番目のシートに貼り付けられてしまいます。

説明が分かりにく、申し訳ありませんが、教えて頂けますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

これでいかがでしょうか。

vba

1Sheets(1).Range("c5:k47").Copy 2Sheets(3).Range("a3").PasteSpecial 3

Copyメソッドで直接Destinationを指定する場合、
Pasteメソッドの動きをしているようです。
Range.Copy メソッド (Excel)
Worksheet.Paste メソッド (Excel)
Copyメソッドでクリップボードにコピー(図形も含む)
Pasteメソッドでクリップボードのコンテンツを貼り付ける

一方Pastespecialメソッドはコピーされたrangeオブジェクトを貼り付けます。
PasteSpecial メソッド (Excel)
rangeオブジェクトですので図形は含まれません。
その為Pastespecialではセルに関連する情報のみが貼り付けられます。

投稿2020/12/15 00:07

編集2020/12/16 00:14
radames1000

総合スコア1925

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tttkkk

2020/12/15 12:57

ありがとうございます! PasteSpecial を使って図形自体はコピーされないようにすることができました。 そこで疑問なのですが、なぜ copyメソッド だと図形までコピーされてしまうのに、 PasteSpecialメソッド だと図形はコピーされずにマクロが実行されるのでしょうか。 教えて頂けないでしょうか。 お願い致します。
tttkkk

2020/12/16 13:14

そういうことだったんですね。 コンテンツを全て貼り付けるのか、Rangeオブジェクトのみを貼り付けるのかの違いがVBAの処理の違いとして実感することができました、 非常に分かりやすい説明ありがとうございました。
guest

0

投稿2020/12/14 13:22

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問