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

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

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答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のどこに?