• ベストアンサー

マクロ 指定の書式に合致する行に〇をつける。

添付のように条件に合致したら〇を付けるマクロを教えてください A~F列、H列、それぞれに条件付き書式が設定してあり、合致すると赤か黒の太字になるようにしてあります。 A~F列に赤or黒フォント太字の数字があり、かつH列に赤の太字の文字列がある場合にJ列に〇を付けたいです。 実際には、300行くらいまであります。 同内容を2回質問しており、どなたも部分的に教えてくださるのですが、結局、自分で試みてもうまくできませんので、助けていただけませんでしょうか?

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

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

空気を読まずに回答しちゃいますw 普通にフォントの書式を変更した場合と、条件付き書式で表示書式を変更した場合で Excel的には処理が大きく異なり、マクロを作るのが面倒です。 ただし、Excel2010以降でしたらDisplayFormatプロパティを使用する事で楽になります。 ご使用のExcelの情報が一切ありませんのでしたので、2007以前でしたら使用できません。 #A-F列は太字があるかどうかだけ見て色は考慮していません Sub Sample()   For nRow = 1 To 7     nBold = 0     For nCol = 1 To 6       nBold = nBold + Cells(nRow, nCol).DisplayFormat.Font.Bold     Next nCol     With Cells(nRow, 8).DisplayFormat.Font       If (nBold < 0) * (.Bold) * (.Color = vbRed) Then         Cells(nRow, 10) = "○"       End If     End With   Next nRow End Sub

honeybeans
質問者

お礼

できました。ありがとうございました!!!! やはり頭のいい方は親切に ちゃんと回答してくれますよね。他の人と違って(笑)

その他の回答 (4)

回答No.4

> わからないからですか? そう取ってくださっても全くかまわないですよ(笑)。 少なくとも、お望みの72通り×2の条件については 「さっぱりわからない」ですから、私の能力では書きようがありませんのでね。 > 最低限のことでマクロ作ってもらって   https://okwave.jp/qa/q9343078.html に対する私の回答   With Cells(1, 1)     If IsNumeric(.value) And .Font.Color = 255 Then       Cells(1, 7) = "〇"     Else       Cells(1, 7) = ""     End If   End With で最低限の情報は提示したつもりですよ。 私の回答で足りないところは、 imogasiさんがAndの使い方、.Boldの使い方を示してくださっています。 つまり、今回のマクロを書くにあたって、 「最低限の情報はすでに出ている」と断言できます。 > 自分で修正するつもりです。 > 至急使いたいので、コピペできるように作っていただけますでしょうか? 矛盾だらけですね。    作ってください=作成依頼=業務委託 ですから、料金が発生するのはごく自然なこと。 私はアドバイスはしますが、無料奉仕するつもりは全くありません。

honeybeans
質問者

補足

ま、いいです。前に作ってもらった行挿入のマクロは便利に使わせてもらってます。無料でいいもの手に入れられました笑

回答No.3

> 実際にはブロックごとに~~~、72通り×2の設定 ほら、情報小分けでしょ(笑)。 ってことは、 > A~F列、H列、それぞれに条件付き書式が設定してあり これも行ごとにそれぞれ式を書き直してるという事ですかねぇ? というか、たかが300行程度のデータテーブルに対して 72通り×2の条件分岐って・・・自動化する意味ありますの(笑)? 条件付き書式を書き換えるより手動の方がよほど早い気がしますよ。 ま、通常はその「144通りの条件」ってやつを どこかに表形式で持っておいて、それとの比較で分岐してやるモノですよ。 で、条件式は(ほぼ)1つだけ、 書き直してもごく一部の状況を作ってやるんですな。 > 今回はダメですか? 72通り×2の条件分岐、しかもその条件の詳細すら分からないのに 書けるわけがないと思いませんか? というかむしろ、ここで「無料」で書くわけがないと思いません(笑)?   https://coconala.com/categories/230 それで商売している人たちにお願いしてみたらどうです?

honeybeans
質問者

補足

ややこしいから、最低限のことでマクロ作ってもらって、自分で修正するつもりです。前回のは作ってくれて、今回はできないって、わからないからですか?

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

https://okwave.jp/qa/q9343338.html?f=mail_favorite_new と同じ質問ではないのか。 ーー 質問マナーとして、前の質問は閉じて新しい質問をすべきです。 ーー 前に他の場合で、回答者がフルのコードを書いてくれたといって、いつも要求するのはどうかと思うよ。 質問者なら、300ぐらいの数なら、質問者が、人間が判断して、2条件のワーク2列を作って合致かどうかサインを入れて、最終のワークの第3列目にAND関数で結果を出せば良いだろう。

honeybeans
質問者

補足

他の人にも補足しているように、実際にはブロックごとに72x2通り設定がしてあるから、マクロでやりたいのです。

回答No.1

自力で赤黒太字を指定しているのであればマクロかな、 と思わなくもないんですが、 > A~F列、H列、それぞれに条件付き書式が設定してあり ならマクロは全く必要ないですよね。 IF関数・OR関数・AND関数、基本の関数の組み合わせで十分ですよ。 条件がわからないので、とりあえずJ列は   J1セル:=IF(AND(OR(条件A,条件B,・・・),H列の条件),"〇","") こんな感じですかね。 「条件A・・」は、条件付き書式で指定している式をそのまま使えばOK。 基本の関数ですから、解説するつもりはありません。 そのくらい自力でお調べくださいませ。 何にせよ、マクロなんてまだまだ先の話ですね。 「至急」じゃないときにゆっくり勉強してみると良いんじゃないですか? ま、自力で覚えるつもりもあまりなさそうですが(笑)。 > 同内容を2回質問しており、どなたも部分的に教えてくださる そりゃ、条件を小出しにされても全体像は回答者には見えませんよね。 で、理解できない回答を無視・非難するわ、 中途半端に報告もなくクローズするわ、 同じ内容を乱発するわ・・なんて姿勢を見せられれば 誰もまともに回答する気になりませんわな(笑)。

honeybeans
質問者

補足

私の他の質問には、マクロをフルで回答いただきましたよね。今回はダメですか? 確かに関数でできるのですが、実際にはブロックごとに条件を変えたりしていて、72通り×2の設定がしてありますのでマクロでやりたいのです。

関連するQ&A

専門家に質問してみよう