• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelマクロで任意の項目の数値を自動コピー)

Excelマクロで任意の項目の数値を自動コピー

このQ&Aのポイント
  • Excelのマクロを使用して、任意の項目の数値を、任意のセルへ自動的にコピーする方法について教えてください。
  • マクロを組むことで、指定したシートの特定のセルの値を自動的にコピーすることができます。
  • また、マクロを実行した日付によって、コピーするデータのセルを動的に変えることもできます。

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

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

元ネタのシート2は当然として、シート1にも1行目に適切な日付を「記入済み」だとする 各社の名称はシート2にも漏れなく記載されているとする シート2の会社名、目標、実績の位置関係はご相談に例示されている通りだとする 単純に縦横位置を調べて転記するだけです。 sub macro1()  dim c1 as long  dim c2 as long  dim r1 as long  dim r2 as long  dim d as long  dim s as string  d = date ’各シートの横位置の確定  c1 = application.match(d, worksheets("Sheet1").range("1:1"), 0)  c2 = application.match(d, worksheets("Sheet2").range("1:1"), 0) ’シート1の縦位置を巡回  for r1 = 2 to worksheets("Sheet1").range("A65536").end(xlup).row  ’シート2の縦位置を確定   s = worksheets("Sheet1").cells(r1, "A").value   s = left(s, len(s)-2)   r2 = application.match(s, worksheets("Sheet2").range("A:A"), 0) + 2 ’実態に合わせて応用する事  ’転記   worksheets("Sheet1").cells(r1, c1).value = worksheets("Sheet2").cells(r2, c2).value  next end sub #参考 マクロでヤリタイご質問なのでマクロで回答しますが、単純な関数だけでも支障なく解決できるご相談です。 実はマクロじゃなくていいなら、改めて各シートの具体的なレイアウト(どこ番地のセルに何が記入されている)を正確に情報提供して、別途ご相談を投稿してみて下さい。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

本日日付の取得はTODAY関数でもNow関数でも可能でしょう。 それよりも必ずEXCELのバージョンを記載するようにしてください。 行列数の制約が異なりますので。 マクロの構成は、最初に日付判定、次に会社別実績の処理ループ、という流れと思います。 ですが、以下はどうなりますか? ・○社実績が列Aとして、日付は最大いくつ用意してありますか?365日分?366日分?  日付の「年」はまったく考慮しなくて良いのですか?2月29日はどうなる? ・会社は例示の通り、A社・B社の2社ですか?もしもC社も登場するならSheet2のどこに?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelシートの自動コピーでマクロを使いたい

    表題通り、Excelシートの自動コピーをマクロを使って行いたいのですが、 マクロやVBAの知識が全くないため、どなたかコードを教えていただけないでしょうか。 まず今現在、B1セルに9月1日と日付を入れ、シート名を1日としたものがあります。 これを自動で複製して、B1セルの日付を9月2日 9月3日… シート名を2日 3日…となるように、日毎ごとの一ヶ月分のシートを作り ひとつのbookにしたいと考えております。 また、その際に、B1セルとシート名の日付が日曜・祭日に当たる場合、 シート名に色を付けたいと思っています。 (因みにB1セルの日付はシリアル値で入れていて、 書式で○月○日となるように表示していて、日付が日曜・祭日に当たる場合は 赤文字になるよう、別シートに祝日リストも作って 条件付き書式で設定してあります。) Excelの関数は使えても、マクロは全く分からないので どうかよろしくお願い致します。

  • マクロの自動実行などについて

    エクセル2003のVBAマクロについて質問です あるワークシートに値が入力されたら、マクロを自動実行するように出来ないでしょうか? 又、そのセルの値を別のセルにコピーしたいのですが、データを入力する度にセルの場所が ひとつ下へずれます。この最終列のセルの値を必ず拾うようにするにはどうすればよいでしょうか? ややこしくてすいません

  • エクセルマクロについておしえてください

    マクロ1 を実行すると、そのマクロを実行した日時を任意のセルに表し、そのマクロを何度実行しても任意のセルの日時は初回実行日時から変わらない。ただし、マクロ2 を実行すると任意のセルの日時が消される・・・そんなマクロは作成可能でしょうか?

  • Excelのマクロについて

    マクロの保存先を「開いているすべてのブック」にして、 A2~A32をいったん削除した後で、 1月1日から、1月31日を入力して、 最後にA2をアクティブセルにしておく、というマクロを作りました。 1/1と入力すると、普通、1月1日と表示されますよね? 同一ブック、同一シートないでしたら、そのように表示されるのですが、 同一ブック、別シートあるいは、 別ブックで、このマクロを実行すると、 2001/1/1と表示されます。 あとで、セルの表示形式を変えればいいんでしょうが、 この原因が、なぜ、そうなるのかが知りたいです。 (まだ、そのシート内以外だと、マクロが設定できない、 とかの方がわかるんですが。) また、 同一シートでなくても、 1月1日~1月31日の表示形式のままで、 設定できるマクロがあったら、あわせて教えてください。 作成しているファイルの、 バージョンは、Excel2002ですが、 マクロは、2000と変わらないと思うんですが・・・。 よろしくお願いいたします。

  • Excelマクロについて(セルのコピー)

    今、マクロで自動的にセルのデータを別シートに貼り付けるというものを作っています。 Private Sub コピー定義() Worksheets("sheet1").Activate 'sheet1をアクティブにする コピー元行 = 2 コピー先行 = 1 コピー元セル = "A" & コピー元行 コピー先セル = "A" & コピー先行 Worksheets("sheet1").Range(コピー元セル).Copy _ Destination:=Worksheets("sheet2").Range(コピー先セル) End Sub これで、sheet1のA2からsheet2のA1にコピーできるのですが、 Private Sub コピー定義() Worksheets("sheet1").Activate 'sheet1をアクティブにする コピー元行 = 2 コピー先行 = 1 コピー元行 = 2 コピー先行 = 1 コピー元セル = "A" & コピー元行 コピー先セル = "A" & コピー先行 コピー元セル = "B" & コピー元行 コピー先セル = "B" & コピー先行 Worksheets("sheet1").Range(コピー元セル).Copy _ Destination:=Worksheets("sheet2").Range(コピー先セル) End Sub とすると、B2の項目しかコピーされません。複数のセルを一度にコピーするマクロの作り方をご存じの方、ご伝授下さい。

  • エクセル2007 マクロについて教えてください

    エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。  

  • コピーするExcelマクロを作りたいです(2)

    「コピー元」ブックから「コピー先」ブックにコピー&ペーストを 行うマクロを作りたいのですが、列の計算が複雑で困っています。 Excelブックのキャプチャ画像を加えて再投稿します。 画像ではシートになっていますが、画面左のシートのような表から 右のシートの当てはまるセルにデータを写すようにお考えください。 「コピー元」ブックは月に一度ダウンロードするデータで、ピボット テーブルです。一月ごとに、前月の列が各営業所ごとに増えていき ます。行には、商品ごとの売上げが入力されています。 また、各営業所ごとに、年度合計列があります。(営業所の数は10 前後、商品の行は50以上はあります。) 「コピー先」ブックは、あらかじめ年度末までの行列セル、合計列が 用意されていて、「コピー元」ブックからデータを移動してくるのみ でレポートとして毎月提出する体裁です。 単純にコピーするだけならばよいのですが、毎月各営業所一列ずつ 増えていくというのが式にして表せません・・・また、できる限り 数値の変更を最低限にして、毎年度利用できるマクロにするという 希望もあります。 ご面倒かと思いますが、お力を貸してください。

  • 任意の複数行をコピーするマクロ

    VBを勉強中の初心者です。 マクロの自動記録でシート1の5~6行目をシート2のセルA3へコピーすることはできました。マクロの内容は   Sheets("Sheet1").Select   Rows("5:6").Select   Selection.Copy   Sheets("Sheet2").Select   Range("A3").Select   ActiveSheet.Paste となっていました。 上記のシート1の5~6行目を任意の複数行(例えば A1 に 200306 A2 に 200307 A3 に 200307 A4 に 200307 A5 に 200308 A6 に 200309 A7 に 200309 のデータがあった場合、コピーしたい年月が 200307 の場合は A2 ~ A4 をシート2のA3へ)でコピーしたいのですが、どうすればよいのかどなたか教えて下さい。よろしくお願いします。

  • エクセルのマクロのコピーについて

    私はあるエクセルデータを持っているのですが、そのデータはマクロが組み込まれているらしく、開いたときには『セキュリティの警告』でマクロを有効化しなくてはいけないデータです。 ちなみに、このマクロ自体はセル(4列12行以上のセル)を選択すると、写真を選択するウィンドウが立ち上がって、そのセルにリサイズされた写真が挿入されるといったものです。 そのエクセルのデータの「VBAProject」を見てみると、各シート毎にプログラムが入っています。しかも、シート名がそれぞれ入っています。(私は詳しくないのですがそういうものなのかもしれません) このマクロをそのまま別のエクセルデータでも使えるようにするにはどうすればいいのでしょうか? 色々とネットで調べたら、 1.マクロのセキュリティを下げる 2.新しいエクセルを立ち上げてドラッグする などとありましたが、よく分かりませんでした。 申し訳ないのですが、教えていただけるとありがたいです。 どうかよろしくお願いします。

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

このQ&Aのポイント
  • 忙しい日々の中で、外に出る時間がなかなか作れないことってありますよね。週に3日以上外に行かない生活を送ることは、健康や心の安定に影響を及ぼす可能性があります。
  • 自然の中で過ごすことは、リフレッシュやストレス解消にも大きな効果があります。逆に、室内にこもりがちな生活は、運動不足や日光不足などのリスクがあるかもしれません。
  • 外に出ることが難しい場合でも、少なくとも毎日短時間でも外の空気を吸うことや、散歩をすることなどを心掛けると良いでしょう。自分の健康と心のバランスを考えて、積極的に外に出かける時間を確保しましょう。
回答を見る

専門家に質問してみよう