• 締切済み

A列で太郎、一郎、三郎を検索し、検索された太郎、一郎、三郎のB列、C列

A列で太郎、一郎、三郎を検索し、検索された太郎、一郎、三郎のB列、C列、D列を0を代入し、緑に塗るVBA記述を教えてください。

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

進んでいますか? 大丈夫ですか? すぐに回答を!と希望されながら全く応答がないので心配しています。 もう一例、提示します。 Dim i As Long Do With Range("A1").Offset(i) If .Value = "太郎" Or .Value = "一郎" Or .Value = "三郎" Then .Offset(, 1).Resize(, 3).Value = 0 .Offset(, 1).Resize(, 3).Interior.ColorIndex = 35 End If End With i = i + 1 Loop Until ActiveCell.Offset(i).Value = ""

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

色々やり方はあると思います。 Dim c As Range Dim rng As Range Dim flg As Boolean Set rng = Range("A1:A50") For Each c In rng flg = False Select Case c.Value Case "太郎": flg = True Case "一郎": flg = True Case "三郎": flg = True End Select With c.Offset(, 1).Resize(, 3) If flg = True Then .Value = 0 .Interior.ColorIndex = 8 Else .Interior.ColorIndex = xlNone End If End With Next ColorIndex値は、セル塗り潰しをマクロの記録して調べてください。 対象セル範囲の求め方は、Web検索すればたくさん参考事例がヒットすると思います。

  • chuchuo
  • ベストアンサー率45% (99/217)
回答No.1

A列の行数がわからないので ループは条件ループとしました。 一例です Sub Macro1() i = 1 gtr0000: If Range("a1").Cells(i).Value <> "" Then If Range("a1").Cells(i).Value = "太郎" _ Or Range("a1").Cells(i).Value = "一郎" _ Or Range("a1").Cells(i).Value = "三郎" Then For j = 1 To 3 Range("b1").Cells(i, j).Value = 0 Range("b1").Cells(i, j).Select With Selection.Interior .ColorIndex = 35 .Pattern = xlSolid End With Next j End If i = i + 1 GoTo gtr0000 Else Exit Sub End If End Sub

関連するQ&A

  • A列にあったものには1、C列にあったものには2

    シート1の内容をVBAをつかってシート2のようにしたいです。 つまり、シート1の2行目以降のデータをシート2のB列につなげて、 A列には シート1の1行目に記載している番号をふっていきます。 もともとA列にあったものには1、C列にあったものには2、E列にあったものには3と振りたいのですが、どのようにマクロを書けばいいでしょうか? [Sheet1]   A  B  C  D  E 1 1  2  3 2 aa aaa aaaa 3 bb bbb bbbb 4 cc cccc 5  dddd ----------------------------- [Sheet2] A B 1 1 aa 2 1 bb 3 1 cc 4 2 aaa 5 2 bbb 6 3 aaaa 7 3 bbbb 8 3 cccc 9 3 dddd

  • EXCEL での抽出

    下記の表から 種別A B C で抽出して 別表を作成したいのですが ご教授願います 種別 受付 日付 内容 A 一郎 2008/5/2 ヒット C 太郎 2008/5/4 三振 A 一郎 2008/5/10 ヒット B 三郎 2008/5/3 ホームラン 空欄も混在します C 三郎 2008/5/6 三振 B 太郎 2008/5/3 ヒット 上記の表から 種別A 一郎 2008/5/2 ヒット 一郎 2008/5/10 ヒット 種別B 三郎 2008/5/6 ホームラン 太郎 2008/5/3 ヒット 種別C 太郎 2008/5/4 三振 三郎 2008/5/6 三振 という 種別ごとに抽出した表を作成したいのですが お教え下さい

  • エクセルでA列-B列=C列 の抽出方法について

    エクセルの初歩的な質問になってしまうかもしれませんが A列の値からB列の値で重複する値を削除して C列を作る方法を教えてください。 A列 a b c d B列 c d から 結果 C列 a b のような結果が得られる処理方法を お願い致します。

  • 【Excel VBA】コピー&ペーストの自動化

    以下のエクセル表があり、同じ日付ごとのデータを自動的に別のシートに移したいです。 例えば、別のシートに、2004/1/1に書かれているデータのみを移す。(シート2参照) それをVBAで書くにはどうすればいいでしょうか。 マクロの記録をするのではなく、この表の日付を増やしたり変えたりしても機能するようにコードを書きたいと思っております。 For LoopとIf thenを使い、A1セルがそれより下のセルの値と異なるまでコピーし続ける、、といった作業をすればよいのでしょうか。 全くの初心者で勉強中です。よろしくお願いいたします。 列行 A B 1 2004/1/1 太郎 2 2004/1/1 次郎 3 2004/1/1 三郎 4 2004/1/1 一郎 5 2004/1/1 五郎 6 2005/3/3 三郎 7 2005/3/3 次郎 8 2005/3/3 太郎 9 2005/3/3 四朗 10 2006/2/2 次郎 11 2006/2/2 一郎 12 2006/2/2 太郎 シート2 2004/1/1 太郎 次郎 三郎 一郎 五郎 シート3 2005/3/3 三郎 次郎 太郎 四朗 シート4 2006/2/2 次郎 一郎 太郎

  • 「A列B列C列」 → 「A列C列B列」 に変更したい

    連日ですみません…。 ご存知の方がいらしたら、よろしくお願いいたします。 「A列B列C列」 → 「A列C列B列」 のように、 すでに入っているデータは保持したまま変更したいのですが、 これは可能でしょうか?

    • ベストアンサー
    • MySQL
  • Excelについての質問です。A列からC列の文字を検索する方法を教えてください。

    A列からC列の文字を検索してかつB列にその結果の表示をさせたいのですが、可能でしょうか? A列 B列 C列 A,1,,a × C-1 C,1,,b ○ B-2 B,1,,a × C,1,,a ○ A,1,,b × B,2,,b ○ こんな感じでC列の「-」はA列では「,」になってます。また、A列には「,,*」がくっついてます。 出来ればA列、C列共に置換やセルの分割などをせずに関数などを使いB列に○、×で表示させたいです。 よろしくお願いします。

  • a+b+c=2で、a>0,b>0,C>0

    a+b+c=2で、a>0,b>0,C>0 のときに、a^3+b^3+c^3の最小値を出せ という問題ってどうやってときますか? 僕が考えたのが、c=2-(a+b)を代入して、aとbそれぞれで平方完成を考えたのですが、式が複雑になります。スマートに解く方法てあるのですか?

  • エクセル A1の値と同じ値の入ったB列のC列の計

    A1=10 D1=37 B C 10 15 11 10 10 12 12 1 10 10 A1と同じ値をB列から探し其の行のC列の値の合計をD1に表示したいのです ご教授ください

  • excelVBA でA+B列をファイル書き出し

    excel2003の VBA で、開いているシートのA列(項目行)とB列(データ)を抜粋してB列の1行目のセルに入力されているデータをファイル名として新しいEXCELファイル(B列の1行目のセルに入力されているデータ.xls)として書き出したいのです。また、B列以降も、A列+C列で1ファイル、A列+D列で1ファイル・・・のように列にデータが記載されているまでファイルとして書き出したいのです。 このような書き出しVBAを教えて下さい。宜しくお願いします。

  • C列の要素によって、3枚のシートに振り分ける

    シート1に顧客の名簿がずらっと一覧で入っているとします。 例えばA列…名前、B列…住所、C列…買った物(いちご、メロン、すいかの3種類)、D列…備考   A列      B列     C列    D列  山田太郎   山梨県   いちご   新規さん(5月)  鈴木良子   北海道   メロン     -  田中浩史   東京都   すいか   常連さん  高橋幸恵   京都府   すいか    -  本田一郎   長崎県   バナナ    -  … というような一覧が数百人分入っているとします。 これをC列の要素によって、シート2~4に自動的に振り分けたいのです。 例えば「シート2」は「いちごを買った人一覧」に、「シート3」は「メロンを買った人一覧」にしたい、 それが、C列に「いちご」などと入力した瞬間に自動的にシート2に反映されるようにしたいです。 もちろんA列やB列、D列の要素をともなったまま。 また隙間を空けずにいちごを買った人が全部で52人なら52行でぴたりと収まるようにしたいです。 そのためにはシート2(もしくは3~4)のC列に、何らかの関数を入れればいいでしょうか? またどんな関数を入れたらいいでしょうか。 よろしくお願い申し上げます。

専門家に質問してみよう