• 締切済み

Excelで条件付き書式によるフォント設定

A    B 商品   在庫数 りんご  18 いちご  50 バナナ  欠品 というような表で、 文字列ならMSPゴシック、サイズ10に。 数値ならHG丸ゴシックM-PRO、サイズ13に設定したいのですが、 条件付き書式ではフォントの設定は出来ないんですね。 色々調べて、VBAなら実現可能だということまではわかったのですが、 VBAに関してはネット上で拾ってきたすでに書かれたものを少しカスタマイズする程度の本当に微妙な知識しかなく、 いくら調べても希望に合うものが見つかりません(条件付きを4つ以上…なら沢山あったので、 それを元に少しやってみましたが出来ませんでした/苦笑) 職場からは書き込みが出来ず、休憩を利用しての携帯からの投稿なため 自分で書いたソースを提示して添削、というのが出来ない状況で大変申し訳ないのですが、 よろしければお力を貸していただければ幸いです。お願いします。

みんなの回答

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

経験なくてわからないだろうが、この課題には2通りの場合がある。 その区別が書いてない。 (1)既にデータは入れ終わっていて、条件によってフォントの種類を変える。多少データが増えてもVBAの実行を再度行ってよいーー>バッチ処理 (2)データが増えた都度、フォントの種類を即座に変えたいーー>イベント処理。 (1)は最下行番号を割り出す。 先頭から最下行まで、数値(IsNumeric)であればHG丸ゴシックM-PRO、それ以外だと(Font.Nameを)MSPゴシックに設定する。 それを最下行まで全行について繰り返す。 これぐらいコードはわかるでしょう。 (2)イベントの場合は、Changeイベントを使う。 Target.Columnが対象列(B列なら2)かどうか判別する。それ以外は、スキップする。 後は、数値(IsNumeric(Target)がTrueであればHG丸ゴシックM-PRO、それ以外だと(Font.Nameを)MSPゴシックに設定する。 ーー 本質問は課題丸投げであり、それほど難しいコードでなく、行数もわずかなので、全部は挙げない。自分で勉強して見てください。

  • wolis
  • ベストアンサー率45% (14/31)
回答No.3

もっと良い方法があるとは思いますが、 Private Sub Worksheet_Change(ByVal Target As Range) Dim myCell As Range If Selection.Cells.Count > 1 Then For Each myCell In Selection If Not IsNumeric(myCell.Value) Then With myCell.Font .Name = "HG丸ゴシックM-PRO" .Size = 13 End With Else With myCell.Font .Name = "MS Pゴシック" .Size = 10 End With End If Next Else If Not IsNumeric(Target.Value) Then With Target.Font .Name = "HG丸ゴシックM-PRO" .Size = 13 End With Else With Target.Font .Name = "MS Pゴシック" .Size = 10 End With End If End If End Sub

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

試しにマクロを組んでみました。 場合によっては、シートのWorksheet_Changeイベントを使えば良いかもしれません。 Sub testフォント()   Dim c As Range      For Each c In Range(B2:B100)     With c.Font       If IsNumeric(c) Then         .Name = "HG丸ゴシックM-PRO"         .Size = 13       Else         .Name = "MS Pゴシック"         .Size = 10       End If     End With   Next End Sub

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

過去ログです 「関数で文字フォントなどの書式を変更することはできません。」ということです。 http://okwave.jp/qa2559431.html

関連するQ&A

  • エクセルの書式について

    エクセルで標準フォントを「HG丸ゴシックM-PRO」に設定しているのに、 文章を打っていくとある文字だけ「MSPゴシック」に変わってしまいます。 例えば「実行」と言う言葉を打つと「行」は丸ゴシックなのに「実」はMSPゴシックになります。 なぜですか??

  • エクセル 条件付き書式設定でできることについて。

    エクセル 条件付き書式設定でできることについて。 こんにちは。すみません。 今日は、エクセルの条件付き書式設定について聞きたいことがあります。 例えば A列   B列    C列 リンゴ  出荷  スーパー バナナ  未出荷 倉庫 ミカン  出荷  市場  リンゴ  ・   ・ バナナ  ・   ・ バナナ  ・   ・ ミカン  ・   ・ りんご  ・   ・ とある場合。 バナナの項目について分かりやすくするため バナナの行全体(B,C列)についても塗りつぶしなどを設定をしたいと考えています。 ただ、いちいち、バナナの項目毎に、B、C列まで塗りつぶしなどをおこなっていると じかんがかるため、できたら「バナナ」という項目とその行について自動的に 塗りつぶし等の効果をかけたいのですが、これって条件付き書式設定でできますか?? お願いします。

  • エクセル 条件付き書式設定でできることについて。

    エクセル 条件付き書式設定でできることについて。 こんにちは。すみません。 今日は、エクセルの条件付き書式設定について聞きたいことがあります。 例えば A列   B列    C列 リンゴ  出荷  スーパー バナナ  未出荷 倉庫 ミカン  出荷  市場  リンゴ  ・   ・ バナナ  ・   ・ バナナ  ・   ・ ミカン  ・   ・ りんご  ・   ・ とある場合。 バナナの項目について分かりやすくするため バナナの行全体(B,C列)についても塗りつぶしなどを設定をしたいと考えています。 ただ、いちいち、バナナの項目毎に、B、C列まで塗りつぶしなどをおこなっていると じかんがかるため、できたら「バナナ」という項目とその行について自動的に 塗りつぶし等の効果をかけたいのですが、これって条件付き書式設定でできますか?? お願いします。

  • Excel フォント設定

    仕様OSはWindowsXP。エクセルはExcel2003です。 オプションの全般タブで フォント:「MS ゴシック」サイズ:「10」と設定しました。 エクセルを起動した状態で、「ファイル」⇒「新規作成」と選択した新規のブックには上記設定が適用されます。 が、ディスクトップ等で右クリックし「新規作成」⇒「Microsoft Excelワークシート」を選択した場合には、フォントは「MSP ゴシック」サイズは「11」となってしまいます。 上記場合にも、フォントは「MS ゴシック」サイズは「10」に設定したいのですが、どうしたらよいでしょうか? 宜しくお願いします。

  • EXCEL2007 条件付き書式

    変数AとBがあります。AorBと一致するセルのみを活かして一致しないセルを書式と文字列をクリアするにはどのようにすればいいでしょうか??? EXCEL2007 条件付き書式→数式を用いて・・・関数ORをつかってみましたがうまくできません。 ちなみにABの変数にはすでに背景色が設定されており、そのまま活かして残したいです。 例えると、データは以下のように表になっています。 {りんご みかん} りんご ばなな すもも すいか みかん りんご・・・・・・・ {いちご れもん} ばなな りんご すもも すいか いちご れもん・・・・・・・ 処理後↓ {りんご みかん} りんご                みかん りんご・・・・・・・ {いちご れもん}                     いちご れもん・・・・・・・ 上記のような感じで処理できればと思います。 VBAの知識も無く、処理できず困っています。宜しくお願いします!

  • コピペするとフォント名が勝手に挿入されるのですが

    質問失礼致します。 OPEN OFFICE CALCを使っていての不具合なのですが、 セルのデータをコピーしてメモ紙というメモソフトに貼り付けた時、勝手に 「MSPゴシック」のようなフォント名が挿入されてしまいます。 例えば、「りんご」というセルをコピーしてペーストすると 「MSPゴシックりんご」というようにペーストされるのです。 しかも何度もコピペしているとこのフォント名がどんどん増えていき、 「MSPゴシックMSPゴシックMSPゴシックMSPゴシックりんご」 のようになってしまいます。 どの設定をいじれば解決できるでしょうか。 ご存知の方、よろしくお願い致します。

  • ACCESS2000のフォームに条件書式を設定するには??

    ACCESS2000について A,B,Cというテーブルを作成しています。 Aには顧客データが保存されているとします。(主キーあり) 例)山田   田中   山本 Bには商品データが保存されているとします。(主キーあり) 例)りんご   いちご   ばなな Cには購入データが保存されているとします。(主キーなし) ※同じ顧客は同じ商品を購入できないものとして考えます。 例)山田 りんご   山田 いちご   田中 いちご   山本 りんご Cの購入データをみて、重複している商品(例:りんごといちご) に色づけをしたいと考えています。 テーブルでは色づけはできないと思うのでCをフォームにしてみた のですが、「重複データに色をつける」という条件式がわからず 悩んでいます。どなたかよい方法があれば教えて頂けないでしょうか。 よろしくお願いします

  • Excel2003の条件付き書式について

    お世話になります。 条件付書式で下記のようなことが可能か、可能であれば設定方法をご教授お願いします。 【シート1】(単価リスト)※単価の昇順で並べ替えています。    A     B     C       D    E 1 レベル  単価  カテゴリー  商品名  在庫 2   1     5      AAA     りんご   ● 3   2     7      BBB     みかん 4   3     8     CCC     いちご 5   2     8     DDD     か き   【シート2】(各商品に必要な材料表)※材料名の昇順で並べ替えされています。     A       B     C 1 カテゴリー  商品名   材料 2  BBB     みかん  オレンジ 3  DDD     か き   オレンジ 4  CCC     いちご   赤 3  AAA     りんご    赤  4  BBB     みかん   黄 5  AAA     りんご    黒 6  AAA     りんご    白  上記のような同じBOOK内の2枚のシートで商品名をキーとして 【シート1】のE列「在庫」に「●」が入っている商品の場合 【シート2】の商品名セルが塗りつぶされるようにしたいのです。 【シート2】には、1つの商品に対して必要な材料すべてが行を変えて記入されているため、同じ商品名が複数あります。 たとえばりんごの場合 【シート1】のE列「在庫」に「●」が入っているので【シート2】の商品名「りんご」 のセル(B3、B5、B6)はすべて塗りつぶされる。 (他の商品は「在庫」に「●」が入っていないので【シート2】の商品名セルは塗りつぶしなしのまま) 条件付き書式の「数式で」で検索する関数と「●」が入っている場合は FLASEとなるようIF関数の組み合わせを条件1と条件2に指定して試してみたのですが 上手くいきませんでした。 説明が足りなかったり、分かりにくければ補足させていただきますので宜しくお願いします。

  • 条件付き書式について

    条件付き書式について A   B      C 件数 売上商品名  売上日 0   リンゴ    1/1 4   リンゴ 1/2 3   リンゴ 1/3 0   リンゴ 1/4 上記のような表をエクセル2003で作成しました。 A列の3行目と6行目の0件は誤入力です。 そこで質問なのですが、Bにリンゴの入力があり、かつ、 A列に0が入っていれば、セルを黄色にする条件付き書式 設定をしたいのですが、やり方がよくわかりませんでした。 教えてください。 あと、できればVBAで出来る方法も教えていただければ幸いです。

  • ACCESSクエリー記述方について

    教えてください。 テーブル構造は下記の通りです 項目 在庫  区分 1  100 ばなな 2  200 ばなな 3  300 りんご 4  100 いちご もし区分がバナナなら、在庫を足す(この場合は、100と200) もし区分がリンゴなら、在庫を足す(この場合は、300) もし区分がイチゴなら在庫を足す(この場合は100) というようなクエリーが書きたいです。 IIF(バナナ、SUM(在庫))??? 非常に悩んでいます・・・。よろしくお願いします。

専門家に質問してみよう