• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAについて教えて下さい)

VBAについて教えてください

このQ&Aのポイント
  • VBAについて教えて頂けませんか?初期入力のセルをクリックした際にダブルクリックの動作を作りたいです。
  • また、「初期入力」シートから「拾い出し」シートへデータをコピー&ペーストしたいです。
  • 具体的には、「Data ! FB63375,FG63375,FI63375」の範囲を「拾い出し ! K4, L4, M4」にコピーしたいです。また、「Data ! FC63367:FI63374」の範囲を「拾い出し ! O4, O11」にコピーしたいです。どなたか教えていただけませんか?

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

>エラーが出て増やせません。  どこでエラーが出るのか存じませんが...。 >前回コピーされた下の行「拾い出し ! K5」にコピーするようにしたいです。 (3) の Range("K4").Select を If Range("K4").Value = "" Then  Range("K4").Select Else  Range("K" & Rows.Count).End(xlUp).Offset(1).Select End If に、 >前回コピーされた下の行「拾い出し!O11」にコピー&ペーストしたいです。 (4) の Range("O4").Select を If Range("O4").Value = "" Then  Range("O4").Select Else  Range("O" & Rows.Count).End(xlUp).Offset(1).Select End If に変更してみられたらどうなるでしょうか?  ちなみに、 >前回コピーされた下の行「拾い出し!O11」 ではなくて「拾い出し!O12」だと思われますが...。

pairakku
質問者

お礼

DOUGLAS_さん、回答ありがとうございます。 エラーが出ずに出来るようになりました。 ありがとうございました。 今後共、よろしくお願いします。

pairakku
質問者

補足

DOUGLAS_さんに教えて頂いたのを、早速実行させて頂きました。 (マクロの登録) VBAProject ⇒ Module2 Sub Macro1() Range("FB63375,FG63375,FI63375").Select Range("FI63375").Activate Selection.Copy Sheets("拾い出し").Select If Range("K4").Value = "" Then Range("K4").Select Else Range("K" & Rows.Count).End(xlUp).Offset(1).Select End If ActiveSheet.Paste Sheets("Data").Select (結果) 一回目は、「K4」、「L4」、「M4」に値が入りました。 2回目は、「K93」、「L93」、「M93」に入りました。  (希望) 2回目は、「K5」、「L5」、「M5」に入るようにしたいです。 「K2:M93」に罫線が引いてあります。それでですかね~? (マクロの登録) VBAProject ⇒ Module2 Sub Macro2() '「Data!FC63367:FI63374」を「拾い出し!O4」にコピー&ペースト Range("FC63367:FI63374").Select Selection.Copy Sheets("拾い出し").Select If Range("O4").Value = "" Then Range("O4").Select Else Range("O" & Rows.Count).End(xlUp).Offset(1).Select End If ActiveSheet.Paste Sheets("Data").Select End Sub (結果) 一回目は、「O4:U11」に値が入りました。 2回目も、「O4:U11」に入りました。  (希望) 2回目は、「O12:U19」に入るようにしたいです。 すみませんが教えて頂けませんか? よろしくお願いします。

その他の回答 (1)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>Sub Macro1() >2回目は、「K93」、「L93」、「M93」に入りました。  >「K2:M93」に罫線が引いてあります。それでですかね~?  罫線は関係ありません。  1回目が終わった後で「K4」を アクティブ にして、[Ctrl] + [↓](下矢印)を押下してみてください。  私の意図通りでしたら、アクティブセル は「K65536」になるはずです。  もし、途中の セル で カーソル が止まるようでしたら、見た目何も入っていないようでも スペース などが入っています。  [回答番号:No.1] の コードは、「K5:K65536」に何も入っていないことが前提の コード ですので、不要な スペース 等が入っている場合には、初期設定として、「K4:K65536」の範囲は クリア(範囲選択後 [Delete])しておいてください。 >Sub Macro2() >2回目も、「O4:U11」に入りました。   想像ですが、一回目に、「O4:U11」に値が入ったときに「O4」セルが ブランク になっている、というようなことはありませんか?  そういう場合もあるのでしたら、コード を書き換えなければなりません。  この点につきましては、「Sub Macro1()」も同様です。

pairakku
質問者

お礼

DOUGLAS_さん、回答ありがとうございます。 うまく出来ました~! DOUGLAS_さんのおっしゃる通りです。 Sub Macro1()はK5以降に数式が入っていた為、駄目だったようですね~ Sub Macro2()の方も、うまく出来ました。 今回の事で、色々勉強になりました。 DOUGLAS_さん、何度もお答え頂きありがとうございました。 今後共、よろしくお願いします。