EXCELのVBAで質問します。
複数行をコピーしてPasteを行う方法がわかりません。
フォアグランドでは正しく実行できるのですが、バックグランドで実行した場合は、1行しかPasteできません。
お分かりの方いらっしゃれば教えてください。
コードは以下のとおりです。
Sheets(\"DATA\").Select
Range(\"A3:W26\").Select
Selection.Copy
Range(\"A4\").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
宜しくお願いします。
No.4ベストアンサー
- 回答日時:
No.3です。
PasteSpecialでは重なった範囲はエラーになるようです。
Transpose:=TrueするためにはPasteSpecialしているのだと思うのですが、一度では無理なので作業シートにコピーすれば可能だと思います。
作業シートをSheet3とする場合
Sheets("DATA").Range("A3:W26").Copy Sheets("Sheet3").Range("A3")
Sheets("Sheet3").Range("A3:W26").Copy
Sheets("DATA").Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
元データに数式などがあって、値がおかしくなる場合
Sheets("DATA").Range("A3:W26").Copy
Sheets("Sheet3").Range("A3").PasteSpecial Paste:=xlPasteValues
Sheets("Sheet3").Range("A3:W26").Copy
Sheets("DATA").Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
hotosysさん、
回答ありがとうございます。
他の作業用シートにコピーしても、値がおかしくなりました。
それで、2番目の方法(元データに数式などがあって、値がおかしくなる場合)で試しても正しく動作しませんでした。
重なる範囲のペーストの使用をあきらめます。
ご教授いただき大変ありがとうございました。
No.3
- 回答日時:
selectionは「アクティブ ウィンドウで現在選択されているオブジェクト」なので、バックグランドではどうでしょうか。
と言う事で、こんなのではどうでしょうか。
Sheets("DATA").Range("A3:W26").Copy
Sheets("DATA").Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
No.2
- 回答日時:
1.確かに回答者No1さんの言われているとおり、Rangeに¥をつける必要はないと思いますが・・
2.あと、コピーする場所と貼り付ける場所がかぶるのですがいいのでしょうか?
上記二点が主な原因で処理が出来ないと思います。
質問どおりに答えを出すことができない為、貼り付けRange("A27")すると、下記のようになります。
Sub test1()
Sheets("DATA").Select
Range("A3:w26").Copy
Range("A27").PasteSpecial Paste:=xlPasteValues, Transpose:=True
End Sub
van111さん、ご回答ありがとうございます。
1.RANGEの\は必要ありませんでした。ご指摘ありがとうございます。
2.コピーする側と貼り付ける場所を、かぶらせてコピーする必要がありました。
つまり時間が経過と共にA3の行が下にさがって行く必要がありました。
コピーする際に被っていても、フォアグランドでは、コピーできてバックグランドでできないのが不自然でした。
ご回答ありがとうございます。いろいろ試してみます。
No.1
- 回答日時:
Sheets(\"DATA\").Select
Range(\"A3:W26\").Select
Range(\"A4\").Select
のような¥をつけた書き方が何を意味するか、小生の勉強不足(?)でわからない。
しかし(質問とはコピー範囲を変えているが。質問においては、実際データと違ってセル範囲などA列第1行よりの簡単な例で説明をすべきと思う、配慮をすべきと思うが)
Sub test03()
Sheets("Sheet1").Range("A3:D5").Copy
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
End Sub
で目的は達せられるのではないか。
CopyのDestination:=の代わり(使えないので)にRange("A10").Selectを持ってきたもの。
参考
http://www.happy2-island.com/excelsmile/smile03/ …
ご回答ありがとうございます。
¥マークですが、別のテキストエディタにコピーしたときについてしまったもので、無視してください。混乱させてもうしわけありません。
3行目(A3からW3)から26行目(A24からW26)までを4行目から27行目までにコピーを数秒おきに繰り返し行う必要がありました。
imogasiのコードの中の
Range("A10").Selectを
Range("A4").Selectにした場合、フォアグランドでは正しく動作しますが、バックグランドでは1行しかコピーできませんでした。
もう少しいろいろ、試してみたいと思います。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- その他(Microsoft Office) エクセルVBA 3 2022/06/09 08:04
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseのコード入力時の、行コ...
-
Listviewに表示された文字のコ...
-
エクセルVBA 実行時エラー'...
-
一行おきに貼り付ける 可能でし...
-
C++言語で、構造体のコピーは可...
-
DataTableに入っているデータを...
-
Ctrl + Cなど複数の入力キー...
-
arduino unoからデータを読み出...
-
他プロジェクトのFormを自プロ...
-
Activesheet.Pasteで困っています
-
Eclipseでコピーするとき行数な...
-
Access VBAから使用したExcelプ...
-
EXCEL VBAで複数行のコピー(...
-
テキストエディタのAtomはコピ...
-
OutlookVBAでコピーした文字を...
-
バッチで当日日付で作成される...
-
シートに張り付けたボタンがシ...
-
プログラムについて。
-
【UWSC】WEBページ内コピーした...
-
ブラウザからコピペすると文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++言語で、構造体のコピーは可...
-
Access VBAから使用したExcelプ...
-
マウントしたディスクにcpで、...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
Listviewに表示された文字のコ...
-
エクセルVBA 実行時エラー'...
-
DataTableに入っているデータを...
-
Eclipseのコード入力時の、行コ...
-
Ctrl + Cなど複数の入力キー...
-
文字列の切り出し
-
arduino unoからデータを読み出...
-
バッチで当日日付で作成される...
-
jakarta poiを使用し、EXCELの...
-
シートに張り付けたボタンがシ...
-
【UWSC】WEBページ内コピーした...
-
Eclipseでコピーするとき行数な...
-
エクセルのマクロについて教え...
-
Excelでコピーしたセル(テキス...
-
OutlookVBAでコピーした文字を...
おすすめ情報