• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの値だけを貼り付けるマクロ:アクティブの1行下)

セルの値を貼り付けるマクロ:アクティブの1行下

このQ&Aのポイント
  • セルの値をそのセルの1行上のセルの値と同じものにするマクロについてのアドバイスを頂戴しました。
  • セルの値を1行上のセルの値と同じにする数式で上手くいったが、2列目のセルについてうまく貼り付けられなかった。
  • 2列目のセルについて貼り付けるために試行錯誤したが、うまくいかなかった。どのようにすればよいかアドバイスを頂きたい。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>Range(RR, 2).Value = Range("G7").Value ・・・これで、ダメだったので、 >Cells(RR, 2) = Cells("G7").value ・・・でも試しましたが、ダメでした。 正解は cells(rr, 2).value = range("G7").value です。

penichi
質問者

お礼

 シンプルで、完璧…でした。  まさに求めていたものでした…。    ご回答、どうもありがとうございました!

その他の回答 (3)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

確かに皆さんの処理で全く問題ないのですが、経験上、 セル上のデータをいじる場合、一旦変数に取りこんだ方が トラブルが少ない気がします。ま、処理速度は多少落ち ますけど、それが問題になる場面は少ないと思うので。 ですので、私が組むとするなら・・・。 TMP_DATA = Selection.Offset(-1).Value Selection.Value = TMP_DATA とか言う感じで、アクティブセルを動かしながら処理すると 思うんですが・・・。

penichi
質問者

お礼

 オフセットというものについて、  さらに勉強になりました…。    ご回答、どうもありがとうございました!     処理速度も、けっこう見落とせないファクターですからね…。  

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>すなわち、2列目のセルについては(G7)セルの値だけを貼り付けたかったので With Range("G7")   .Offset(, 2).Value = .Value End With アクティブセルのセルの値を2列目に貼り付けるなら With ActiveCell   .Offset(, 2).Value = .Value End With

penichi
質問者

お礼

 このたびも、本当にどうもありがとうございます。  今回は、オフセットよりも、別の方法が効きました。    ですが、前回のやりとりには、心より感謝しております。    今回も、withという関数は初めて見ましたので、参考になりました!  ご回答を頂き、どうもありがとうございました…  m(_ _)m  

回答No.1

Cells(RR - 1, 7).Copy Cells(RR, 7) ).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False

penichi
質問者

お礼

コピー→ペーストの手順ですね! 参考にさせていただきました。 ご回答、どうもありがとうございました!

関連するQ&A