• ベストアンサー

COUNTBLANKのような役割を持つマクロ

COUNTBLANKとはちょっと違うのですが、 行 ↓ A B C D ←列 1  AB AC AD AA 2 BB 3 C CC 4 DD 上記のようなデータがあります。 2,4行目みたいにA列とB列とC列が空白だったら、E2、E4セルに ○っていのを表示させるようなマクロってできないでしょうか。 また、Dのセルに値がある限り、その行数分上記の処理を繰り返す 方法があったら教えてください

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.1

Sub sample() Range("E1:E" & Range("D" & Rows.Count).End(xlUp).Row).Formula = "=IF(A1&B1&C1="""",""○"","""")" End Sub などでは? 計算式を残さない場合(と、その他処理をする場合)などは Sub sample2() Dim currentSelection As Range Set currentSelection = Selection '現在の選択範囲を記憶 Columns("E").Clear 'E列クリア With Range("E1:E" & Range("D" & Rows.Count).End(xlUp).Row) .Formula = "=IF(A1&B1&C1="""",""○"","""")" '計算式 .Copy 'コピー .PasteSpecial Paste:=xlPasteValues '値のみペースト End With Application.CutCopyMode = False '点滅している枠線をクリア currentSelection.Select '選択範囲を元に戻す End Sub などでは?

chirorin22
質問者

お礼

ありがとうございます。 ちょっとカスタマズしたら思うような動きをしました

関連するQ&A

  • 空白を埋めるマクロについて

    マクロで教えて下さい! A B C D    ...... 数量 名前 種類 購入者  .... 1  2  あ  A 2    く 3 5 DD 4          まま 5    さ 6          ぱぱ と右は何十項目・下は何千行と項目が続くデータがあります。 この空白に上の文字をコピーし埋めて行くマクロを作成するにはどうしたら良いでしょうか? ただし以下の条件があります。 (1)D列の様に1行目が空白のセルは4行目の様に文字が入っている所までは空白のまま (2)A列はそのファイルにより何行目までデータが入っているかは不明 A B C D     数量 名前 種類 購入者   1  2  あ  A       2  2  く A 3 5 く DD 4  5  く DD   まま 5  5  さ DD まま 6  5  さ DD   ぱぱ 宜しくお願い致します。

  • エクセルで最後行に入力したデーターを自動で別の(ファイル)シートの任意の場所に自動で転記できるようにしたいのですが・・。

     全くの初心者です。よろしくお願いします。 初心者にもかかわらず無謀にもエクセルで最後行に入力したデーターを自動で別の(ファイル)シートの任意の場所に自動で転記し、上下が逆になる形にしたいと思います。 例) A B C D E F 1 a aa ab ac ad 2 b ba bb bc bd 3 c ca cb cc cd 4 d da db dc dd 行4に d da db dc ddを入力すると A B C D E F E 1 2 3 d da db dc dd 4 c ca cb cc cd 5 b ba bb bc bd          6 a aa ab ac ad          別(ファイル)シートの任意の場所へ挿入する形で転記され、入力のシートとは上下が逆になる。  何かよい方法がありましたら、よろしくお願いします。

  • エクセル マクロ 文字列からの行数の取得

    エクセルでマクロ初心者です。よろしくお願いします。例えば1列目にデータ名が入力されていてその個数が可変である場合(小計は末尾ではありません)小計行の1列目から数式をいれたいのですが、行数が固定でないため小計と書かれたセルの行数を取得したいのですが、わかりません。いい方法をお願いします。    A B C D データ aa bb cc 小計 ・ ・

  • エクセルの質問 条件で求めたものの合計について

    あのエクセルについての質問です    A   B  C  D   E 1   50 100 ab 2000 5 2   50 200 ab 1500 2 3   60 200 ba 1000 3 4   60 100 ab 2000 4 5   50 100 ba 1000 3 6   50 100 ab 2000 2 7   60 500 ab 1000 4 8   50 200 ab 2000 5 9   60 150 ca 2000 2 10   50 200 ab 1000 7 11   50 300 ba 2000 8 12   60 100 ca 2000 2 13   50 100 ab 2000 1 14   50 150 ba 1000 5 15   60 200 ab 2000 9 Aが50でありなおかつBが100でなおかつ CがabでなおかつDが2000の行のE列の合計を求める関数をしりたいのですか どうか教えてください。 いわゆる上のこの表ではE列の1行目と6行目と13行目を足した ”答えが8”になる関数を使用した公式を知りたいんですが。 また、Aが50でありなおかつBが100でなおかつ CがcdでなおかつDが2000の行のE列の合計などを求める方法、 を教えてくれないでしょうか。 条件として一つのセル内で計算を行い データー行は500行以上あるということです。 オートフイルターを使用なしということです。 VBAはわからないので使わないものをお願いします できるのでしょうか 教えてください どうかよろしくお願いします。

  • <文字列マクロについて>

    <文字列マクロについて> 皆さま お力を貸して下さい。 初心者で、何もわからず書いておりますがすみません。 下記の2つのマクロを教えて下さい。 ?横に並んだ「ある行」に在るデータを「列」に変換し、  指定した数だけ並べる    あいうえお    ←A1セルからE1まで5列(これは状況により変わる)       ↓(マクロ実行:3行同じ数だけ並べるという指定)  あ        →A1セルから下にひたすら、同じ文字が続き順に並ぶ  あ  あ  い  い  い  う  う        →A1セルから下に並べる(3行は指定できれば別の数字にも変えたい  う  え  え  え  お  お  お ?規則的に並んだデータのまとまりをセットで移動する。  例だと5つの塊(これは変数とおきたい)    あ A              a  い B              b  う C               c   え D               d  お E              e    ↓(マクロ実行)  あ  い  う  え  お  A  B  C  D  E      ・  ・  ・  ・    a b c d e    

  • マクロを教えてください

    CSVファイルで、     A    B    C    D    E   F 1 444  あああ  123  けけけ 2 555  いいい  456  かかか 3 666  ううう  000        4 山   5 川 上記のようなCSVファイルで3行目のC列には0・D列はブランクです。 そこで3行目でD列がブランクのときは、A列をC列に、B列をD列に持ってきて あいたA列には999B列には@@@を入れたいのです。 そしてもうひとつは、A列をE列にコピーをしてF列はE列の数字以外を持ってきたいのです。 結果は   A      B    C    D   E   F 1 444  あああ  123  けけけ  444 2 555  いいい  456  かかか  555 3 999  @@@  666  ううう  999 4 山                    山 5 川                    川 といった結果のマクロを作りたいです。 どなたか教えてください。よろしくお願いします。

  • エクセルマクロ、空白行(セル)の挿入

    データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。

  • エクセルで変化する行数に対応してコピーするマクロ

    エクセルワークブックAを検索して見つかった範囲をワークブックBのシートとセルを指定して転記するマクロ。 このようなマクロコードを教えてください。 ブックAのシート1に以下のような配置で文字と数値が入っています。 A列        B列      C列      D列      E列 あいう えお            10       aa      かかか     123          20       ss      ききき     456                        くくく      8910                        けけけ     234                        こここ     5678                        さささ     9123 -------------スペース-------------------------------- かきく けこ             10      aa      かかか     123           20      ss      ききき      456           30      dd      くくく      8910                        けけけ      234                        こここ      5678 -------------スペース-------------------------------- さしす せそ             10      aa      かかか      123           20      ss      ききき      456                        くくく       8910                        けけけ       234 -------------スペース-------------------------------- 上記の様にスペースとスペースの間を1グループとしてコピーしたいのですが、行数が変化します。 また列によって入力されてる行数も違います。 ブックBから操作するマクロでブックAのシート1の”あいう”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート1のA1に貼り付ける。 (あいう えお~9123まで) 続いてブックAのシート1の”かきく”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート2のA1に貼り付ける。 (かきく けこ~5678まで) ブックAのシート1の”さしす”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート3のA1に貼り付ける。 (さしす せそ~234まで) *ブックAのファイル名は固定ですが、ブックBは毎回違います。 マクロの実行はブックBから行います。 この様な条件でのマクロを教えてください。 行数変化に対応している部分に但し書きを付けて頂けると応用が利きますので有難いです。

  • Excelでマクロを使用した削除に関して

    マクロ初心者です。 Excelにて、以下のような表データがあるとします。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50  a   b   c   d 3行  51  e   f    g   h    4行  52  i    j    k   l この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を 削除して以下のように表示させたいのですが、 その方法がわかりません。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50      b       3行  51  e          h    4行  52          k    単純な行削除・列削除ではないため、 頓挫しています。お知恵を拝借したく、よろしくおねがいします。

  • エクセルのマクロでデータを左につめていく

    お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと  A列からF列にランダムにデータが入力されています。  このデータをA列、B列、C列と、左に詰め表示させたいです。  ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。  ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前)  -  : 空白セル  *** : データが入力されているセル     A列   B列  C列  D列  E列   F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 - -   -  *** *** *** 4行目 ***  -   -   -   -   -  5行目 *** *** -   *** -   -  イメージ(処理後)     A列  B列  C列   D列  E列  F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 *** *** *** - -   - 4行目 ***  -   -   -   -   -  5行目 *** *** *** -   -  -

専門家に質問してみよう