Excelマクロ、VBAについての質問です。 複数の行にペーストされてしまうデータを1つのセル内にペーストするような方法を知りたいです。
Excelマクロ、VBAについての質問です。 複数の行にペーストされてしまうデータを1つのセル内にペーストするような方法を知りたいです。 Web ブラウザからのコピーをエクセルのセルにペーストしたいのですが、普通にセルを指定すると、複数の行にまたがってしまいます。 A1にペーストすると、A1,A2,A3に一行ずつペーストされてしまうという意味です。これをA1内にすべてコピーしたいです。 セルをダブルクリックしてからペーストすると1つのセル内に収まるのですが、これをVBAで実行する方法が調べてもわからないため、教えていただきたいです。 よろしくお願いいたします。
Excel | Visual Basic・45閲覧・500
ベストアンサー
VBAでも、 コピーした値を取得して、変数にいれて 対象セルを指定して、値をいれれば単一セルに入りますよ。 range("A1").value = pasteValue みたいな感じ 変数pasteValueにコピーした値が入っています。 pasteValueに値を設定するときに、 複数行にまたがったセルの値を全て連結するのがポイントかなと。 その改行している部分を、 開業した状態で取り込むか 開業していないままで取り込むかは任意です。 改行した状態で取り込みたいなら pasteValue = ”1行目の値” & vblf & ”2行目の値 ” & vblf & ”3行目の値 ” と改行コードで連結すればいいです。
ご回答ありがとうございます。 コピーした値をそのままペーストするのではなく、一度変数に入れる必要があるということでしょうか。 自分が書いたコードだと単一セルに入ってくれません。 .value = pasteValueを使うと何もペーストされませんでした。 どうすればよいでしょうか。 Sub copytest() Dim ws As Excel.Worksheet Set ws = Worksheets("シート名") ws.Cells(2, 5).PasteSpecial End Sub
質問者からのお礼コメント
ありがとうございました。
お礼日時:5/21 13:32