• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1列おき2列選択)

指定範囲で1列おきに2列選択

このQ&Aのポイント
  • マクロで記録した選択を実行することはできません。
  • 関数式が入っている列を除いて他の範囲でも同じ操作を行いたいです。
  • 範囲内のセルの値を取得するために「形式として貼り付け」-「値」としたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

1列おきに2列に「形式として貼り付け」ー「値」としたいのですが マクロの記録にばかり頼っていると、どうしてもコピーと貼り付けをイメージしてしまいますが 簡単な式で、値をほかのセルへ入れることが出来ます。 例えば Sheets("コピー先").Range("J9:K40").Value=Sheets("メイン").Range("J9:K40").Value とかでできます。 今回の質問の場合、列(JとかK)を順に変えたいので Cellsプロパティを使って Sheets("コピー先").Range(Sheets("コピー先").Cells(9, 10), Sheets("コピー先").Cells(40, 11)).Value =・・・ と記述することになります。 Sub Macro1() Dim j As Integer Dim k As Integer j = 10 k = 10 For i = 1 To 3 Sheets("コピー先").Range(Sheets("コピー先").Cells(9, k), Sheets("コピー先").Cells(40, k + 1)).Value = _ Sheets("コピー元").Range(Sheets("コピー元").Cells(9, j), Sheets("コピー元").Cells(40, j + 1)).Value j = j + 3 k = k + 2 Next End Sub j = 10 k = 10 For i = 1 To 3 ・・・ はそちらの都合に合わせて変更してください。 http://excelvba.pc-users.net/index.html などのサイトを参考にして勉強してみてください。

Rord
質問者

お礼

 ご回答ありがとうございます。それにしてもあまりにも自分の勉強不足で質問ばかりすればいいというものではないと痛感しました質問するならそれなりのレベルになってからでこれから本当に困った時に助力を願えるようにします。 重ね重ねありがとうございます。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

連続した四角に囲まれたセルの範囲を選択して貼り付けることはできますが離れたセルを同時に選択して貼り付けることはできませんね。 For Next ステートメントなどを使って順にコピーし貼り付けていくのがよいでしょう。