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

VBAの初心者です。

本当に知識が浅い為、ご教授頂けると幸いです。

スマホから質問している為、読みにくいかもしれません。申し訳ありません。


VBAで、別シートに必要なデータを列ごとで部分的に値貼付けを行いたいです。
ですが、コピーメゾットを用いると、大変重くなる為、Valueメゾットを用いて、代入させたいです。

下記のような内容で作成いたしました。

With 変数(元ネタシート)
 .Range("A:C").Value = 変数(貼付先シート).Range("A:C").Value
End With

変数の定義(Dim 〜)と、Set〜は省略させて頂きました。
また、あと、10行ほど、同じように値貼付けを行いたい列が続きます。

この内容で実行した所、貼付け元のデータが消えました。理由がわからないです。
わかりにくく、拙い文章で申し訳ありません。
Valueを用いた列ごとの貼付け方法をご存知の方がいらっしゃいましたら、ご回答して頂けると大変助かります。
宜しくお願い致します。

A 回答 (2件)

.Range("A:C").Value = 変数(貼付先シート).Range("A:C").Value


式が反対じゃないですか。これでは貼付先シートのデータが元のシートにコピーされてしまいます。

変数(貼付先シート).Range("A:C").Value = .Range("A:C").Value
にしたらどうどですか。
    • good
    • 0
この回答へのお礼

ginga_kuma様
かなり初歩的なミスでした。本当に情けないばかりでお恥ずかしいです。
月曜日に出社予定ですので、試してみます。
回答してくださり、本当にありがとうございました。

お礼日時:2020/05/30 08:04

with 変数(貼付先シート)


.Range("A:C").Value = 変数(元ネタシート).Range("A:C").Value
end with

コピペと代入は指定するセル範囲(シート名含め)が意味合いの違いにより逆になります。
    • good
    • 0
この回答へのお礼

知識が乏しい為、こんな情けない質問をしてしまい、お恥ずかしいかぎりです。

これですっきりして、進めそうです。
本当にありがとうございました。

お礼日時:2020/05/30 08:06

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