• 締切済み

エクセルVBAでコピー先シートのセルを非アクティブのままペーストを行うには

以下の文をコピー先シートのセルを非アクティブのままペーストを行うにはどうしたらいいのでしょうか?PasteSpecialOperation:=xlPasteAll が問題だと思うのですがどうしたらいいかがわかりません Sub test() クリップ配列 = Application.ClipboardFormats For Each クリップデータ In クリップ配列 If クリップデータ = xlClipboardFormatText Then Range("B" & Rows.Count).End(xlUp).Offset(1,0).PasteSpecial Operation:=xlPasteAll End If Next End Sub

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 最初に、クリップ配列 = Application.ClipboardFormats で、取得したデータが、xlClipboardFormatText だったら貼り付けするというのは、どういうデータでしょうか。通常、テキスト貼り付けすればよいのではないかと思います。 クリップボードの内容によって、種類別けするコードというのは、主に、インターネットから貼り付けたときなどに不要成分が含まれていることを指すのです。いくら、テキスト成分があっても、それ以外もあるのですから、そのまま貼り付けてしまったら、意味がありません。その場合、テキスト貼り付けするというモードにするわけです。 しかし、その場合、クリップボードから、コピー先シートのセルを非アクティブのまま直接、ペーストすることは出来ないように思います。一旦、どこかに吐き出してから、次に、非アクティブのセルに貼り付けというスタイルにしかないように思います。

bobo21
質問者

お礼

参考になりましたありがとうございます

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Worksheets("コピー先のシート名").Range("B" & Rows.Count).End(xlUp).Offset(1,0).PasteSpecial Operation:=xlPasteAll と言う事ではなくて?

関連するQ&A

専門家に質問してみよう