• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで特定のデータセルの幅を自動で広げたい)

エクセルで特定のデータセルの幅を自動で広げたい

このQ&Aのポイント
  • エクセルでカレンダーを制作し、指定した行の幅を自動的に広げる方法を教えてください。
  • 質問者は土曜日と日曜日の行のみを自動的に高さを広げる方法を知りたいと述べています。
  • 質問者はWindows XPとOffice 2003を使用しており、A3サイズ2枚で見開きにするか、代替案を検討しています。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

該当の行を自動的に広げるなどの操作はマクロを使って行うことになるでしょう。 例えば表がA2セルから下方に日付がって、B2セルから下方には曜日が例えば TEXT(A2,"aaa") などの関数を使って表示されているとします。祝日については祝のように入力されているとします。 そこで土日、祝日の行の高さを高くするのでしたら次のようにします。 「ツール」メニューの「マクロ」から「マクロ」を選択し、表示の画面でマクロ名には「行の高さ調整」とでも入力して「作成」ボタンをクリックします。 表示の画面では次のコードを入力し画面を閉じます。 Sub 行の高さ調整() Dim i As Integer With ActiveSheet For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(i, 2).Value = "土" Or .Cells(i, 2).Value = "日" Or Cells(i, 2).Value = "祝" Then .Cells(i, 2).RowHeight = 30 End If Next i End With End Sub 上のマクロで行の高さは30の数値を変更することで調整します。また祝日を入れないのでしたら Or Cells(i, 2).Value = "祝"の部分を削除します。 マクロを実行するには「ツール」メニューの「マクロ」から「マクロ」をクリックします。表示の画面でマクロ名が「行の高さ調整」となっていることを確認して「実行」ボタンをクリックすればよいでしょう。

megu_megu
質問者

補足

ありがとうございます。 早速、テストファイルで試してみたところ まさに希望通りのマクロです! しかし、実際のファイルで試したところ、動作しませんでした。 数値の設定か何かだと思うのですが。 勉強不足で、原因がよく解かりません。 表はB3セルから下方に日付、D3セルから下方には曜日・・・ TEXT(A2,"aaa") ですが、実際に表示して印刷するのは、 【C3セル】=IF(MONTH(B3)>$I$1,"",B3)、 【E3セル】=IF(MONTH(B3)>$I$1,"",D3)以下の列になります。 (日数が31日に満たない月に対応する為です。B列、D列は非表示にしています。) この辺りが関係しているでしょうか? よろしければ、またご教授をお願い致します。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

「土」「日」の行だけどこかの列に大きな文字を入れては?

megu_megu
質問者

お礼

ありがとうございます。 なるほどです! マクロに挑戦してみて、出来なかったら試してみます。