- 締切済み
excel:条件付きでセルの文字サイズを変える方法は?
小学校の教員です。月ごとの出席簿をexcelで作りました。 sheet1に祝日を、sheet2にIF,ISNA,VLOOKUPで、土、日、祝、振替休日、|、空白を設定しました。 <sheet2> E F G H I J 5 児童a 土 日 祝 振 | 6 児童b | | | 替 | 7 児童c | | | 休 | 8 児童d | | | 日 | 9 児童e | | | | | のように、平日は空白、休みは上のような文字(赤)です。 ただ、問題なのは、「|」は、縦に1本の線にならないといけないのです。 そこで、祝などの文字は、MS明朝、標準、サイズ11 「|」は、MSPゴシック標準、サイズ35 にしなくてはいけません。 1ヶ月のカレンダー式でやったので、自分が作ったのだと、祝などの文字と「|」のサイズが11,35で混在してしてしまいました。(セルj5が11、I6が35に) どうすればいいか教えてください。 ちなみに、マクロやVBAは初歩の初歩レベルです。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
[No.4回答]の訂正 文中の“選択範囲内で”は、“選択範囲内で中央”の誤りでした。
[No.1回答に対する補足]に対するコメント、 お示しの Sheet2 の「|」(code:8515)は、MSゴシックに設定したブラウザで見ている私には上下方向真っ直ぐに揃って見えます。Excel ではそのように揃わないとでも? 12ポイントのMSゴシック、14.25ポイントの行高のワークシートに、「│」(code:10274)を中央揃えで数行入力して、印刷させてみました。「│」の縦長は約4mm、各行間に0.5mm弱の隙間がありますが、この隙間を嫌っているのですか?もし、そうであるなら… 次のように1日2列ずつ使用して、列間に罫線を引けばよろしいかと。「土」等の文字は“選択範囲内で”配置するのです。セルの結合は使わない。 E F G H I J K L L M 5 児童a 土 日 祝 振 | 6 児童b | | | 替 | 7 児童c | | | 休 | 8 児童d | | | 日 | 9 児童e | | | | | ちなみに、このコメントは固定ピッチフォントで眺めてくださいね。
- imogasi
- ベストアンサー率27% (4737/17069)
文章から察するに、ご存知のようですが (1)書式ー条件付き書式では文字フォントを変えさせてくれません (E2002の場合) (2)罫線も斜め罫線は引かしてくれない (3)縦棒も引かせてくれない(書式でなく「値」だから) VBAを使う場合 (4)VBAなら、(1)(2)(3)どれも可能ですが、縦棒がつながるという保証がない。 それで、ご意見が出ているように、 (A)オートシェプに直線か 〔B〕罫線の斜め罫線 を使うのはいかがですか。 Sub test01() For i = 1 To 10 If Cells(i, "A") = "|" Then Cells(i, "A") = "" l = Cells(i, "A").Left t = Cells(i, "A").Top w = Cells(i, "A").Width h = Cells(i, "A").Height ActiveSheet.Shapes.AddLine l + w / 2, t, l + w / 2, t + h End If Next i End Sub A列で、暫定的に|を入れたセルだけに、 縦直線をセルの幅の真ん中に入れます。 斜め罫線の場合は With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With (マクロの記録から)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 確かに、マクロのよる条件付でフォントの大きさは換えられますが、印刷してみましたか? もしかすると、フォントのサイズ11 と、サイズ35のセルが混在することで、右側の列のバランスが微妙に狂うのではないかと思います。 罫線素片といって、JIS x2822 「│」という文字があります。ただし、行間隔によってつかないことがあります。 私などが作る場合は、「そう、しなければならない」という「要求」だとしたら、後先を考えずに、オートシェイプのラインにするかと思いますが、そうでなければ、全体的な表作りを、もう少し別な格好にするかと思います。もう少し、検討の余地はありませんでしょうか?
補足
ありがとうございます。 罫線素片JISx2822「|」という文字を使っているようなのですが、おっしゃるとおり、間が開いてしまいます。 No.1の方の補足にあるのですが、様式が決まっているので、ひとまず自分なりに作ってみました。 「オートシェイブ」でも考えたのですが、自分の力量不足で、条件付きでの線の入れ方をどうしたらいいのかわかりません。 仕方なく、「|」でつながるようにしたのですが…。 マクロを使えばいいのでしょうか? そこが自分にはわかりません。 教えていただくと、うれしいです。
「先生」の質問なら誰にでも分かり易い文章かと思ったら、率直に申し上げて、それでは“落第点”なのでは? 》 ただ、問題なのは、「|」は、縦に1本の線になら 》 ないといけないのです。 「縦に1本の線にならない」とはどういうこと?現状は、具体的にどうなっているのですか? 「そこで、…にしなくてはいけません」と断言される根拠は何ですか? 「1ヶ月のカレンダー式でやったので、自分が作ったのだ」がどんなものかを、面倒でも、「先生」の全員の“教え子”でも分かるように(再現できるように)記述してください。
補足
早速ありがとうございます。厳しい指摘も…。 作成したい出席簿の様式(用紙)が決まっているので、それをもとに自分なりに作ってみました。 縦軸に児童名、横軸に毎日の記録(1~31日)を書いていくものです。 休みの日は、一番始めの児童の欄に「祝」などを書き、その下は赤い1本の線になります。わかりづらいかもしれませんが例sheet2でイメージをふくらましてください。 ただ、セルの中に罫線を引く方法がわからなかったので、「|」でサイズを35にしてつなげたのです。 よろしいでしょうか?
補足
ありがとうございます。 恥ずかしながら、書いていただいたマクロの意味が、自分には難しくて、何が書いてあるのかわかりません。 A、Bの方法を、自分なりにやってみます。 何とかがんばってみますので、できましたらまた教えてください。