• ベストアンサー

エクセルで特定の文字列が入っていたら別のセルへコピー

1行目のABCD各列には数値が入っており、2行目以降はDにしか数値が入っていません。 1行目と同じものを2行目以降にコピーするマクロはどう記述したらよいでしょうか。  A B C D 1 ○ △ □ ● 2 なし なし なし ● 3 なし なし なし ● 4 なし なし なし ● ↓ ↓ ↓  A B C D 1 ○ △ □ ● 2 ○ △ □ ● 3 ○ △ □ ● 4 ○ △ □ ● 宜しくお願いします!

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

A1~C1(○ △ □)をコピーするならANo1の通りです。コピーではなくDの値(●又は○)によって(○ △ □)又は(× △ □)となるのであれば、少しアレンジすれば可能です。 でも、ご質問の内容だけでしたら、マクロではなく式でも可能ですのでその例を・・・ ◇1行目をコピーするのなら  A2に =IF($D2="●",A$1,"")と記入、C2までドラッグコピー  A2~C2を選択し、下にドラッグコピー ◇Dの値で(○ △ □)又は(× △ □)となるのなら  A2に =IF($D2="●","○",IF($D2="○","×",""))  B2は =IF(OR($D2="●",$D2="○"),"△","")  C2は B2のコピーの△を□に  A2~C2を選択し、下へドラッグコピー

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

>もしDに○だったら×△□ ×は何を表しているのでしょう? 質問ではA~C列をコピーするとのことでしたが、×がどこからくるのか、 或いは新たな値なのか不明です。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub test()  With Range("D2", Cells(Rows.Count, 4).End(xlUp))    Range("A2:C2").Resize(.Rows.Count).Value = Range("A1:C1").Value  End With End Sub ですか?

necoX
質問者

補足

すみません、Dには●以外が入ることもあるので、「Dに●が入ってたら○△□、もしDに○だったら×△□」という記述ができませんでしょうか。