- ベストアンサー
セルの値を貼り付けるマクロ:アクティブの1行下
- セルの値をそのセルの1行上のセルの値と同じものにするマクロについてのアドバイスを頂戴しました。
- セルの値を1行上のセルの値と同じにする数式で上手くいったが、2列目のセルについてうまく貼り付けられなかった。
- 2列目のセルについて貼り付けるために試行錯誤したが、うまくいかなかった。どのようにすればよいかアドバイスを頂きたい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>Range(RR, 2).Value = Range("G7").Value ・・・これで、ダメだったので、 >Cells(RR, 2) = Cells("G7").value ・・・でも試しましたが、ダメでした。 正解は cells(rr, 2).value = range("G7").value です。
その他の回答 (3)
- FEX2053
- ベストアンサー率37% (7991/21371)
確かに皆さんの処理で全く問題ないのですが、経験上、 セル上のデータをいじる場合、一旦変数に取りこんだ方が トラブルが少ない気がします。ま、処理速度は多少落ち ますけど、それが問題になる場面は少ないと思うので。 ですので、私が組むとするなら・・・。 TMP_DATA = Selection.Offset(-1).Value Selection.Value = TMP_DATA とか言う感じで、アクティブセルを動かしながら処理すると 思うんですが・・・。
お礼
オフセットというものについて、 さらに勉強になりました…。 ご回答、どうもありがとうございました! 処理速度も、けっこう見落とせないファクターですからね…。
- watabe007
- ベストアンサー率62% (476/760)
>すなわち、2列目のセルについては(G7)セルの値だけを貼り付けたかったので With Range("G7") .Offset(, 2).Value = .Value End With アクティブセルのセルの値を2列目に貼り付けるなら With ActiveCell .Offset(, 2).Value = .Value End With
お礼
このたびも、本当にどうもありがとうございます。 今回は、オフセットよりも、別の方法が効きました。 ですが、前回のやりとりには、心より感謝しております。 今回も、withという関数は初めて見ましたので、参考になりました! ご回答を頂き、どうもありがとうございました… m(_ _)m
- atamagawarui5
- ベストアンサー率25% (112/440)
Cells(RR - 1, 7).Copy Cells(RR, 7) ).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False
お礼
コピー→ペーストの手順ですね! 参考にさせていただきました。 ご回答、どうもありがとうございました!
お礼
シンプルで、完璧…でした。 まさに求めていたものでした…。 ご回答、どうもありがとうございました!