• ベストアンサー

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

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

  • necoX
  • お礼率40% (51/126)

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

  • ベストアンサー
  • 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に○だったら×△□」という記述ができませんでしょうか。

関連するQ&A

  • Excel 指定値だけ行コピー+値の移動

    Excel 2010でSheet1に次のような表があります。  A列  B列 C列 D列 E列  りんご 111  222 333 444  みかん 555  666  いちご 777  888 999   ・   ・   ・ これをマクロを使って、次のような形にしたいと思います。 1.C列以降の「数値が入った列数分だけ」行コピーをする。(最大9列まで)  (この例の場合りんごの行は3回、みかんの行は1回、いちごの行は2回) 2.次にC列以降の数値はコピーした行のB列に移動する。 マクロ実行後は次のようになります。  A列  B列  りんご 111  りんご 222  りんご 333  りんご 444  みかん 555  みかん 666  いちご 777  いちご 888  いちご 999   ・   ・   ・ 膨大な数のデータですので、マクロを使って処理したいと思っています。 どうぞよろしくお願いいたします。

  • VBA 同一文字のコピーについて

    B、C列に1つでも済と入っていれば、A列で同じ社名の行をコピーして別シートに貼り付けする。 というマクロを作りたいと思っています。  A  B   C 1 A社 済 2 A社 済 3 A社 4 B社 5 B社 6 C社 7 C社 8 C社    済 9 C社 10 D社 11 D社    済 この場合、1、2、8、11行目に済と入っているので、B社を除く、 1~3行目と、6~11行目をコピーしたいです。 A列で同一文字かどうか分かる方法がわかりませんでした… こういったマクロ出来るでしょうか?? よろしくお願いします

  • Excelで1列のデータを5列に振り分けする

    Excel2003でA列に1行にあるデータ(半角英数字)を 次のシートに、1行ずつコピーして、それを5列に振り分けするというマクロを作りたいです。 (ただし、コピーは2つずつの時もあります。) 元データ ●A列 B列 C列  1  2  3  4  5  ・  ・ 加工後 ●A列 B列 C列 D列 E列   1   1   2   2   3   3   4   4   5   5   上記のような感じです。ただデータは数字のみでなくて、英数字です。 Excelのマクロは全くの初心者で大変困っています。 どうぞよろしくお願いたします。

  • 複数セルから特定の文字を検索して、その対象セルを抽出したい

    エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1>   列A   列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C  列D  列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D  行1 へ "A1"と入力(記載)がある場合、列Eに   ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。

  • 別ファイルにある特定の文字列をコピーするマクロ

    マクロ初心者です。 取引先一覧.xlsのA2、B2、C2(A3、B3、C3…と、数十行続きます)に入っているそれぞれの三つの文字列を、 別ファイルである 伝票.xls の A2、A3、A4にコピーするマクロを組みたいです。 コピーする際は、 伝票.xls に設置した各取引先を示すボタンを押すことで、それぞれの取引先の住所や名前が 伝票.xls のA2~A4に飛んでくるようにしたいのですが、ファイルをまたがってのコピーの方法が分かりません。 初歩的な質問である上に分かりにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • あるセルの文字列(または数値)を、他のセルのデータの一部として流用した

    あるセルの文字列(または数値)を、他のセルのデータの一部として流用したい場合について。 例えば、 セルA1に 0001 セルA2に K-0001 セルA3に T-0001 セルA4に W-0001 また、 セルB1に 0035 セルB2に K-0035 セルB3に T-0035 セルB4に W-0035 …C、D、E、、、と100項目ほど続く、という場合。 このようにデータを入力していきたい場合、 例えば、A列で、 A1の0001という数字を、A2~A4の中で、「データの一部として代入」したい時、 どういう風に自動化できますでしょうか? (例)K-0001 の中において、0001という数字は、データの一部として使われている。 ちょっとまとめてみますと、 1行目:●●●● 2行目:K-●●●● 3行目:T-●●●● 4行目:W-●●●● ●●●● は、同列の1行目の数値を、そのまま割り当てる というような記述ができたらなと思っているわけです。 つまり、1行目に●●●●を打ち込むだけで、その列の2行目以降について、適宜、自動的に必要な数値なり文字列が入力されるようにしたいわけです。 このようなことは、できませんでしょうか? マクロでも何でも結構です。 どなたか、お詳しい方、教えて下さい。 必ずお返事致します。

  • エクセルのマクロで特定の文字があるときだけコピーできるようにしたい

    エクセルのマクロで特定の文字があるときだけコピーできるようにしたい エクセルでこういう表があるとします ココカラ 1 * 2 b 15 3 * 4 d 19 5 e 25 6 * 7 g 35 8 * 9 j 46 10 k 54 ココマデ このような表があるとき、マクロを使ってもしB列に「*」以外の文字(この場合アルファベットのb) があるときは左のセル(2)をずっと下のセルにコピー(仮にA50とします)した後、右のセル(15)をB51にコピー、 次は文字が「*」なのでコピーはせずにd列になったら4と19をC50,D51にコピー・・・ という作業をセルに「ココマデ」と書いているところまで繰り返す、というマクロを作りたいのですが、どうすれば いいのでしょうか?

  • エクセル 特定セルの足し算をするマクロ

    C列、D列、E列を足し合計をF列に記入するマクロを教えて下さい。 (3行目から値のある行まで。)  A B  C  D  E   F 1 2 3     24  16  19  59となる様に 4     35  49  41 5     22  19  72 6     ・   ・   ・ 7     ・   ・   ・ 宜しくお願いします。

  • エクセルで離れたセルを離れた場所へコピペするには?

    エクセルで 1行目のctrl+コピーで離れたセル(B1,D1,F1)を 3行目(B3,D3,F3)、4行目(B4,D4,F4)、6行目(B6,D6,F6)などに 貼り付けるにはどうすればよいでしょうか? ちなみに、A列、C列、E列には他の数値があるのでコピーしたくないのです。 どなたかよろしくお願いします。

  • Excelで、セルのコピーをしたいのですが・・・

      A       B 1        金額 2       10,000,000 3        5,000,000 4         5        2,000,000 B欄に金額が入った表があります。 この金額を違うセルへコピーしたいのですが・・ C10   10,000,000 C11 C12    5,000,000 C13 C14    2,000,000 B4は空欄(掛け算の数式入り)となっているため、コピーの際には省きたいのです。 空欄はB2になったり、2行が空欄になることもあります。 (数値は、金額として認識させたいのですが) マクロは使用したことがありません。 お教えくださいますようお願いします。

専門家に質問してみよう