条件によるコピー&ペーストについて教えてください

このQ&Aのポイント
  • マクロ実行ボタンを押したら、条件によって指定されたセルをコピー&ペーストする方法を教えてください。
  • セルにはOKまたはNGが表示され、NGが表示されている場合はOKの表示がされているセルを探す必要があります。
  • 見つかったOKのセルに応じて、指定されたセルの範囲をコピーし、他のブックの指定されたシートのセルに張り付ける方法を教えてください。
回答を見る
  • ベストアンサー

マクロで条件によるコピー

条件によるコピー&ペーストについて教えてください。 セルE24 K24 Q24 W24 それぞれのセルには OKまたはNGと表示されます。 マクロ実行ボタンを押したら OK以降にさらにOKやNGが表示されることはありません(例えばK24でOKと表示されればQ24とW24は空白) NGが表示されていたらOKの表示がされているところを見つけるまで探す(例えばE24がNGなら次はK24がどうか、K24がNGなら次はQ24がどうかのように・・・) このようにしてOKのセルが見つかった場合 例えばセルE24がOKなら セルA1~A3をコピーし、ブックBのシート1のA1~A3のセルに張り付けたい セルK24がOKなら セルB1~B3をコピーし、ブックBのシート1のA1~A3のセルに張り付けたい ・・・ などのようにするにはどうしたらよいでしょうか?

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8023/17147)
回答No.1

if文で分岐させればよい。 if range("E24")="OK" then 'セルA1~A3をコピーし、ブックBのシート1のA1~A3のセルに張り付ける処理 elseif range("K24")="OK" then 'セルB1~B3をコピーし、ブックBのシート1のA1~A3のセルに張り付ける処理 elseif range("Q24")="OK" then elseif range("W24")="OK" then else endif

yyrd0421
質問者

お礼

ありがとうございます! 勉強になりました。 またよろしくお願いします。

関連するQ&A

  • エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ

    単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル)   A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル)   ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル)   ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)

  • セルのコピーペースト

    ある人が、シート「Sheet1」のセルA1をコピーして セルB1にペーストしました。 この操作をされたことを知る方法ってありますか? やりたいことは、セルがペーストされたときに 「A1のセルがB1のセルにコピーペーストされたました。」 とメッセージを表示したいと思っています。

  • エクセルで変化する行数に対応してコピーするマクロ

    エクセルワークブックAを検索して見つかった範囲をワークブックBのシートとセルを指定して転記するマクロ。 このようなマクロコードを教えてください。 ブックAのシート1に以下のような配置で文字と数値が入っています。 A列        B列      C列      D列      E列 あいう えお            10       aa      かかか     123          20       ss      ききき     456                        くくく      8910                        けけけ     234                        こここ     5678                        さささ     9123 -------------スペース-------------------------------- かきく けこ             10      aa      かかか     123           20      ss      ききき      456           30      dd      くくく      8910                        けけけ      234                        こここ      5678 -------------スペース-------------------------------- さしす せそ             10      aa      かかか      123           20      ss      ききき      456                        くくく       8910                        けけけ       234 -------------スペース-------------------------------- 上記の様にスペースとスペースの間を1グループとしてコピーしたいのですが、行数が変化します。 また列によって入力されてる行数も違います。 ブックBから操作するマクロでブックAのシート1の”あいう”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート1のA1に貼り付ける。 (あいう えお~9123まで) 続いてブックAのシート1の”かきく”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート2のA1に貼り付ける。 (かきく けこ~5678まで) ブックAのシート1の”さしす”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート3のA1に貼り付ける。 (さしす せそ~234まで) *ブックAのファイル名は固定ですが、ブックBは毎回違います。 マクロの実行はブックBから行います。 この様な条件でのマクロを教えてください。 行数変化に対応している部分に但し書きを付けて頂けると応用が利きますので有難いです。

  • 複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ

    ブック(1)のシート(1)にある複数の離れたセル(A1,B2,C3,D4:F4)をコピーし、別ブックのシート(1)のセル(E1,F2,G3,B4:F4)へリンク貼り付けを実行するためのマクロを教えてください。 なお、ブック(1)とブック(2)は同一階層に置いてあります。 このブック(1)とブック(2)の表のフォーマットが違っており、ブック(1)のセルA1をコピーして ブック(2)のセルE1へ貼り付けし、 また同様にブック(1)のセルB2をコピーして ブック(2)のセルF2へ貼り付けをしていきます。 (A1→E1、B2→F2、C3→G3、D4:F4→B4:F4 へ貼り付ける) この作業をマクロを使って自動実行させたいと思っています。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • Excel 同ブックの他シートを参照するセルを、他ブックのセルにコピー

    こんにちは。Excelの使い方について質問させていただきます。 よろしくお願いします。 Excel2003を使っています。 シート数、シート名がまったく同じブックが2つあります。 AブックのAシートのA1セルを参照しているセルである AブックのBシートのA1セルをコピーします。 BブックのBシートのA1セルにペーストします。 BブックのAシートのA1セルを参照して欲しいのですが、 別ブックであるAブックのAシートのA1セルを参照するように 自動的に変換されてしまいます。 シンプルにそのままコピーすることは不可能でしょうか。 セルのコピーでは無く、中の文字列を選択してコピーしても、 何が起こっているのかよくわかりませんが上手くいきません。 Excel初心者です。マクロはまったく使えません。 親切な方、どうぞよろしくお願いします。

  • VBA コピー&ペースト

    次の作業をVBAでマクロを組みたいのですが、どのような構文にすればよいでしょうか。VBA初心者のため、お知恵を拝借させてください。 [目的] 1.ブックA(コピー先)に設定したハイパーリンク先のブックB(コピー元)へジャンプ 2.ブックBへジャンプ後、特定のセルの値をコピー 3.コピーした値をブックAの特定セルへペースト 4. 1.~3.の作業をリピート 対象は、上の作業が未完(ブックAのペースト先のセルがブランク)のもの [詳細] ・ブックB(リンク先)の保存先はサーバー ・リンク先はブックBの特定のシート ・ブックAで設定したハイパーリンクのセルの値がリンク先のシート名 ・ブックBは複数、リンク先のシートも複数(ハイパーリンクごとにリンク先が異なる) ・ブックBにはマクロが設定、開くたびにマクロ有効無効のメッセージ(Excel2003のため) ・コピペする項目は3つ ・ブックA,Bともに開いた状態で、2.~4.のリピートというマクロでも構いません。 以上ですが、他に情報が必要でしたらお申しつけください。 よろしくお願いいたします。

  • エクセルマクロ VBAで順次下セルからコピペする方法

    VBA初心者です。教えてください。 同一bookに"sheet1"と"sheet2"があります。 "sheet1"セルA1のデータ(数字or文字)をコピーして"sheet2"セルA1にペースト。 次に "sheet1"セルA2のデータ(数字or文字)をコピーして"sheet2"セルA2にペースト。 "sheet1"セルA3のデータ(数字or文字)をコピーして"sheet2"セルA3にペースト。 ↓ セルAxにデータがあれば、繰り返し。 ↓ "sheet1"セルAxが空欄になったら終了。 このような処理は、どう記述したらよいのでしょうか? お願いします。教えてください^^;

  • Bookの参照をはずした形式でペーストする方法 エクセル

    以下2つのファイルがあります。 □Book1  Sheet1   A1セル =Sheet2!A1  Sheet2   A1セル 1 □Book2  Sheet1   A1セル =[Book1]Sheet2!A1  Sheet2   A1セル 2 Book2,Sheet1,A1セルは、 Book1,Sheet1,A1セルをコピーペーストした結果です。 この状態では、Book2,Sheet1,A1セルには"1"が表示されます。 Book2,Sheet1,A1セルに"2"を表示するために、 Book1,Sheet1,A1セルのコピーを Book2,Sheet1,A1セルに"=Sheet2!A1"としてペーストで入力したいのですが、 普通にペーストしたときは、上記の結果、 「形式を選択して貼り付け」→「数式」としても同じ結果となってしまいます。 どのようにすれば、Bookの参照をはずした形式でペーストできるのでしょうか。 よろしくお願いします。 Excel2003

  • エクセルのブック間で値のみコピー

    エクセル 2003使用です。 エクセルのブック間におけるシートのコピーについてお願いします。 Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。 このシートをコピーして、Book.Bにペーストしたいのですが、 コピーは、関数計算後の”結果の文字列”で行いたいです。 Book.Aのシート全体をコピーして Book.Bのシートに「形式を選択して貼り付け」 → 「値」 で可能なのですが、シート数が多いので困っています。 Book.Aのシートタブを右クリックして「移動またはコピー」で シートのコピーをすると、数式でコピーされてしまいます。 この方法で、値のみコピーのような方法はありませんでしょうか? よろしくお願いします。

  • 【Excel】他のブックにセルをコピーする際、条件付書式もコピーしたい

    【環境】 OS:XP SP2 Excel:2003 ブックA・シートAのセルA1には条件付書式が設定されています。 そのセルA1を、別のブック(ブックB・シートB)のセルA1にコピーすると、 条件付書式は引き継がれません。 引き継ぐ(条件付書式も同時にコピー)する方法はありますでしょうか? よろしくお願いします。

専門家に質問してみよう