ここから本文です

エクセルVBAについて BOOK間コピーの方法を教えて下さい。

ananymouthさん

2014/1/719:32:38

エクセルVBAについて BOOK間コピーの方法を教えて下さい。

こんにちは。エクセルVBA初心者です。ご教授下さい。
BOOKを超えてまたいで特定シートの列を、別のシートの行にコピーしたいのですが、効率よくコピーする方法はありますでしょうか?例えば、下記のような場合です。
宜しくお願いします。

book A sheet 1 の、a1からa10にある数値や語句を、
book B sheet 2 の、a1からj1にコピーする。

補足ありがとうございました! 例1の方法で出来ました。^^
ただ、Paste:=xlValuesを追記しないと、書式はコピーされるようなんですが(セルに付けた色はコピーされるので)、値が全て0になってしまいます。
Pasteの既定値は、Paste:=xlPasteallだと思うので、何も設定しなくても全てコピーされると思うのですが、なぜ値が正しくコピーされないのでしょう?

閲覧数:
9,881
回答数:
1

違反報告

ベストアンサーに選ばれた回答

xls88_1さん

編集あり2014/1/820:40:13

効率よいかわかりませんが、、、
(例1)
Workbooks("A.xlsm").Sheets("Sheet1").Range("A1:A10").Copy
Workbooks("B.xlsx").Sheets("Sheet2").Range("A1").PasteSpecial Transpose:=True

(例2)
Dim rng As Range
Dim d As Variant
Dim r As Long, c As Long
Set rng = Workbooks("A.xlsm").Sheets("Sheet1").Range("A1:A10")
d = rng.value
r = rng.Columns.Count
c = rng.Rows.Count
With Workbooks("B.xlsx").Sheets("Sheet2")
.Range("A1").Resize(r, c).value = WorksheetFunction.Transpose(d)
End With

≫≫≫補足
本文の
>book A sheet 1 の、a1からa10にある数値や語句・・・
から手打ちされた生データと判断しました。
実際は数式が入っているということですか?
例2ではできなかったということですか?

質問した人からのコメント

2014/1/8 22:49:16

降参 なるほど、数式のようです!ご指摘ありがとうございました。
今回は数値と語句がコピーさせたいので、例1の方法に追記で出来る事が分かりました。
ご回答ありがとうございました!^^

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。