• ベストアンサー

EXCEL2003で、セルに式で表示した文字の一部の文字の表示色を変更したい

EXCELでのセルの書式設定について、ご教授ください。 自分の職場で使用している、EXCEL2003で作成された自主警備点検表を、EXCEL2003のシートに移植しました。 元データは順ごとに1枚のシートで、1ヶ月分作成するには、日にちのところを全て書き換えなければならない、アナログ式のシートです。 月末はいろいろな表を作成するため、各表ともシンプルかつ簡単に作成できないかと思い、簡単な設定表で年と月、最初の日の曜日を指定すれば、各旬のシートが作成され、後は印刷するだけ、と言うようにしました。 改造したファイルは、旬ごと(10日毎)がA3サイズの用紙1枚で、1か月分が3枚のシートで印刷されます。 月はタイトルとして。「平成21年4月 上 旬分」というように表示され、日にちについては各シートとも「1の日(月)」といった書き方になっており、曜日だけ変更しなければなりません。これまではそのままセルに打ち込んでましたので、曜日は土曜日は曜日の文字の文字色を青に、日曜日と休日は曜日の文字の文字色を赤に変更し、他の曜日は黒文字にしていました。 年、月などは、専用の「設定」シートを作成し、ここで、年と月はリスト入力します。その月の初日である1日の曜日は、1を月曜日とし、数字でリスト入力します。 各日の曜日はこの設定シート内に旬ごとの1ヶ月のカレンダーを作り、ここに自動で日の対応する曜日が自動表示されるように設定し、自主点検表の日のところに、例えば =“1の日 ( ”&設定!B41$“ )” という式で取り込んでいます。 問題はこの自動表示にしたことで、曜日の「土」を青色印字にしたり、日曜日の「日」や祭日の曜日の文字を赤色印字にしたりできなくなったことです(これまでは、手作業で文字の一部を色指定していました)。 セルの書式設定で設定できないかと調べましたが、できそうにありません。 何か設定をする方法をご存知の方が居られましたら、ご教授ください。 現実にこのファイルを使用して印刷するのは、今月の月末になります。それまでに完全な物を作成し、できれば本格使用可能にしたいと思っています。

noname#132927
noname#132927

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

  • ベストアンサー
  • turuzou
  • ベストアンサー率33% (15/45)
回答No.4

No.3です、失礼しました、多分数式(関数)のみで、 文字列の中の一部の文字色を変更するのは、無理ではないかと? 別の列(補助列に)日付を入力(関数による表示)をしておけば、 条件付書式の設定で、対照のセル全てのフォント色を変更できますが? (条件付書式の設定 No.2さんの参照URLの下の方) 例えば (*) を別の列へ表示させ、そのセルには日付を入力、 書式の設定で、(*) と表示させ、さらに条件付書式で、フォント色を変更等 マクロなら希望の表示に変更できるので、マクロをお勧めしました。 マクロを使用したことがあるのなら、下記も参考になると思われます、 お時間のある時に、御覧になってみては? すぐに役立つエクセルVBAマクロ集 - Excel VBA Macro Collection http://www.asahi-net.or.jp/~zn3y-ngi/ の セル制御 http://www.asahi-net.or.jp/~zn3y-ngi/YNxv20005.html 等

noname#132927
質問者

お礼

有り難うございます。 やはりマクロでなければ出来ませんか。 私は20年以上前、まだソフトがMS-DOS(Windowsの前身)で操作していた頃、NEC製のN88 Disk-BASICを使っていたことがありました。 その後Visual BASICを経てWindowsで動くBASICも多少やりました。 Visual Basic For Windowsをかじった頃、自分で作っても効率が悪いだけであったことも有り、プログラミングをやめてしまいました。それから約10年。 もう覚えていません。ExcelのマクロがVisual Basic For Windowsから派生したVBAであることは知っていますが、さすがにもう私の知識が錆びていて、使えない状態です。 今はキー操作を覚えさせるキーボードマクロまでしかできません。 残念ですが、諦めるしか、なさそうですね。 ありがとうございました。

その他の回答 (4)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

関数では無理 マクロでよければ 詳細が掴めないので、取り敢えずサンプル Sub test() ActiveCell = "1の日 ( " & [設定!B41] & " )" If InStr(ActiveCell, "(日)") > 0 Then ActiveCell.Characters(Start:=InStr(ActiveCell, "(日)") + 1, Length:=1).Font.ColorIndex = 3 ElseIf InStr(ActiveCell, "(土)") > 0 Then ActiveCell.Characters(Start:=InStr(ActiveCell, "(土)") + 1, Length:=1).Font.ColorIndex = 5 End If End Sub 参考まで

noname#132927
質問者

お礼

やはり関数では無理ですか。 マクロは、No.4さんのお礼に書いたとおり、錆びてしまったVBの知識ではどうにもなりません。当時諦めたので、VBA血押しての拡張部分は覚えませんでしたので。 キーボードマクロではどうにもなりませんし。 書き込んで戴いたマクロは参考にさせて戴きます。 ありがとうございました。

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.3

回答ではありませんが 雛形はこんな感じにしてみては? >月はタイトルとして。「平成21年4月 上 旬分」というように表示 上記セル(例えばA1)へ 2009/4/1 と入力 セルの書式設定のユーザー定義で ggge"年"m"月 上 旬分" として >「1の日(月)」といった書き方 上記セル(例えばB3)へ =DAY($A$1)&"の日 "&TEXT($A$1,"(aaa)") (2の日(*)は =DAY($A$1)+1&"の日 "&TEXT($A$1+1,"(aaa)") とか?) (2の日(*)は =DAY($A$1)+Row(A1)&"の日 "&TEXT($A$1+Row(A1),"(aaa)") を、オートフィルで下へとか?) 等として、Sheetをコピー→Sheet名の変更→ 「コピー→値の貼り付けで数式を消す→文字の色を変更」を手作業で 「」の中は(手作業全て)マクロにしてしまうとか? 手作業を分割してマクロの記録で記録し、記録したマクロを新たな質問に貼り付け、うまく動作しない内容を書き添えて質問すれば、マクロに詳しい方々から回答して頂けると思います。

noname#132927
質問者

補足

ご教授内容は、参考にさせて戴きます。 私の職場は私以外はPCは何とか動かせるだけと言う人2名でこのシートを使います。1名は過去所長クラスを経験した方ですが、既に定年退職、現在は再雇用制度で現職場にいます。 意図としては、今一人は現職ですが、あと半年で定年になります。二人とも、PC操作は超初心者です。 設定シートで年度、月、スタートの曜日を入力すると、既に作成され、式で日などを取り込むように作った上旬、中旬、下旬のシートに反映され、その後、設定以外のシートを印刷すればよい、と言う作りにしたいのです。 > Sheetをコピー→Sheet名の変更→ 「コピー→値の貼り付けで数式を消す→文字の色を変更」を手作業で 「」の中は(手作業全て)マクロにしてしまう と言った作業を、その人たちがするのはほとんど不可能です。 私自身も、ある程度は式を扱いますが、マクロはキーボードマクロがせいぜいで、属性をいじるなどまるで出来ません。 シートのコピー、表示データの値化、その一部の文字の属性変更を手で行なわず、簡単の式の設定、セルの書式設定で、全て自動で出来ないか、と言うのが今回の改造を始めた意図でした。

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

直接の回答ではありませんが 次のサイトを参考にしてください。 月間予定表の作成例 http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/gekkan-n.htm

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

カレンダー一例です。 エクセルの日付機能(1900/1/1からのシリアル値で管理)を利用すると曜日、土日及び大小月が日付関数を利用すれば設定できますが如何でしょうか。 以下のURLを参考にして下さい。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_keisan_hiduke.html#seijinnohi
noname#132927
質問者

補足

お教え戴いたHPは、偶然にもNo.2さんと同じ物のようです(指定場所は異なるようですが)。 ただ、大変参考になるので、ブックマークに登録させて戴きました。 大小の月は、mod関数で4、100、400で割ったときの剰余を算出し、法則をIF文で作ってやれば、覚えにくい関数を使わないでも出ますので、私は大概この方式を使っています。 少し書き方が判りにくかったですね。 シリアル値を使えば、曜日がでるのも判るのですが、私は表示(印刷)時に一つのセル内に 「1の日 (土)」 と表示した時は、「土」という文字のみが青表示、 「2の日 (日)」 5月3日なら「3の日 (火)」 と表示して、「日」「火」と言う文字のみ赤表示、平日は全ての文字が黒表示、土休日も曜日を表わす文字のみ指定色(土曜日が青、休日が赤)で表示したいのです。 複数のセルを使って曜日の文字のところのみ、土休日などでセルの属性を変化させると言うことも考えましたが、出来ている(会社が配布した)ファイルを大きく改造するのも難しいこと、セルを分けても、表示内容によって自動的に属性を変化させるすべが判らないこと、私自身が関数やマクロに疎いこともあって、上手く表示を変化させられなくて困っています。 何か方法をご存じの方が居られたら、よろしくお願いします。

関連するQ&A

  • エクセル97で、一部のセルだけ印刷しない方法

    シートを印刷するとき、セル単位で印刷をしない設定はできるのでしょうか? 列、行ごとではなく、A7・B20・D1のセルは印刷しないというようにです。 請求書のようなものを作成しているのですが、用紙にはすでに文字が印刷 されているので、印刷不要なのですが、入力に不便なのでシート上には 「合計」「請求日」等表示したいのです。 どうしたらよいのでしょうか?

  • 毎月の月末表示の仕方

    シート(1)は印刷シートで、16日~翌月15日までの表を作成しています。 日にち対して自動で曜日表示ができるように設定をしたくて、 シート(2)に曜日表示をするために関数を作成していたのですが、 月末の29~31日無い月でも、29~31日は表示をさせたままの設定、でも無い月の曜日は空白のままにしたいです。 色々試行錯誤、ネットで調べたりしたのですが、29~31日を確実に表示をさせる設定が見つからないので、困っています。 F列にある数式は、現在A列に組み込んだ関数になります。F3=A4、F5=A5~といった感じです。 出来ればアドオン設定などせずに関数作れればと思っております。 うまく説明ができなくて申し訳ありませんが、よろしくお願いします。

  • excel2003での文字入力について

    エクセル2003である表を作っています。発売日を「昭和30年5月3日」というように文字で入れていました。そのデータをwordに自動的に写し変え印刷したところ「1955/5/3」のように変わっていました。 そこでセルの書式設定であれこれ試したのですが、サンプルのところは「昭和30年5月3日」のように出てくれるのですが画面の上のバーには依然と「1955/5/3」と出ます。 困っています解決方法を是非教えてください。

  • エクセルの一セル折り返しの印字表示について

    エクセルの一セル折り返しの印字表示についてお教えください。 エクセルの一セルに折り返しで大量に文字を打ち込んでいき、さて印刷してみようとすると、セルの下のほうに、数行かならず隠れてしまうんです。せっかく折り返しが自動で、画面上は表示されているのに、プリントアウトするときに、文字が隠れて、微調整が必要だとするのは非常に残念。 画面同様に、印刷においても、折り返しの文字が自動で印字されるような設定は、エクセルには不可能なのでしょうか。 どなたか、お詳しい方、改善の方法がありましたら、お教えください。

  • Excelのセルの色が変更できない

    Excel2010を使用しております。 申告用のデータですが、日付のセルの色を変えようとするのですが、色が変わりません。 B列に日、C列に曜日が入っており、土日はセルの色が自動的にピンクになります。 自動的なのですが、表の上に期間を選ぶドロップリストがあり、期間を選ぶと自動でその 日付と曜日が入力されるようになっています。(リスト用にカレンダーのシートが別にあり、そのシートに色の指定等は特にありませんでした。) 色が変わらないと言いましたが、実際には色が変わっており、リストから違う月を選ぶと 曜日が変わり、塗りつぶしを行った箇所が休日でなければ塗りつぶした色になっています。 おそらくマクロも入っていると思われますが、詳しいものがおらずどこを確認すれば良いか わからない状態です。 このデータが最初に作られたのは2001年ということで13年前のデータになります。 構成は2シート、申告用のシートとカレンダーシートになります。 条件付書式を疑ってみましたが、セルを選択しても条件付き書式はグレーのままでした。 1、使用しているのはExcel2010です 2、セルの塗りつぶしは出来ますが、その上に更に色が乗っているような状態です。 3、条件付書式にはなっていないようです。 4、作成した年月は2001年2月です。 必要とする情報がわかっておりません。 これはどうなっているか等あれば、答えるようにいたします。 よろしくお願いいたします。

  • セルに入りきらない文字

    エクセルで表を作成しました セルの中の文字が多くて、印刷してみたら入りきらない場合があったのですが、 プレビューではきちんとセルの中に入っているのです。 プレビューと実際の印刷は違うものなのでしょうか?

  • Excel2000 での表記文字色

    Excel2000で、表を創ります。 A1 に、2011/4/1 と入力しセルの書式設定で、日付「1」と表記するようにします。B1には「=A1+1」と式を入れ、「2」と表記されるようにします。C1は「B1+1」・D1は「C1+1」…… A2 に、2011/4/1 と入力しセルの書式設定で、曜日「金」と表記するようにします。B2には「A2+1」 と式をいれ、「土」と表記されるようにします。C2は「B2+1」・D2は「C2+1」…… 上記のように、1か月分作成する時 2行目が「日」となる時、文字色を「赤」にするにはどうすれば良いのでしょうか?出来れば、2行目が「日」となる日の1行目(日にちの数字)も赤字になれば最高なんですが… 日曜日となる日の、文字色を「赤」に自動的に表記させたいのです。 何だか、解りづらい質問で申し訳ございません。よろしくお願いいたします。

  • EXCEL;セルの一文字の変更を,他のセルの1文字を自動変更する方法

    EXCEL セルの一文字(一部分の変更)の変更を、他のセルの1文字を自動変更する方法 現在、エクセルで、 H1セルに、「2月末日」 G5セルに「期間:2月1日~2月末日」 B42セルに「2月末日」 B43セルに「2月1日」 となっています。 これをそれぞれ2月を3月に変更するにはどのようにしたらいいのでしょうか? 1つずつ手で変更はできるのですが、1度に変更する方法を教えてください。 H1セルの「2」を「3」に書き換えると他のセルのG5,B42,B43のそれぞれの「2」が「3」に変わる方法です。 よろしくお願いします。

  • フォント変更ができないExcelシートがあるんです。

    1つのExcelファイルに7つのシートを作成しました。 (計算式の入った表です。) 作っているうちに、あるシートではフォント「MSゴシック」を、また他のシートでは「HG丸ゴシック」を使用していたので、すべてのシートの書式を統一しようと、「HGゴシックM」に変更したのですが、 7つのシートのうち2シートだけ、印刷すると文字が太くなってしまうんです。 太字の選択をしているわけでもなく、 太字になってしまう2シートと正しく印刷される5シートについて、 「セルの書式設定」でフォントの詳細を見比べても 全く違いがないように思います。 どのようにすれば、太字表示が解消されるのでしょうか?

  • EXCEL2010 罫線を表示しない

    頭のセルに日付を入れると二行目のセルに曜日が自動で表示する様に式を入れてあります。 そこの土曜日のセルのみ枠の下の部分が消えてしまいます。 勿論日付を入れ替えても瞬時に土曜日の文字が入ったセルだけが枠が消えてしまいます。 どうしたらいいのでしょうか? (ちなみに文字を小さくしても同じです)

専門家に質問してみよう