エクセルで各月の行事予定表を作成していますが、各月の初日を特定のセルに入力すると、自動的にその月の日にちと曜日が各セルの上段から下段に表示されるように作成しています。
例えば、セルA1に11/1と入力すると、セルA5からA36までに日付がB5からB36に曜日が表示されるようにし、セルC欄に行事内容を入力する行事予定表としています。
この場合、土曜日曜は休みなので行事が入らないため、その行(土曜日曜の行)の高さをボタンクリックで変更(希望の縮小高さに変更)できるマクロを教えてほしいのです。
また、これについては、他の表作成で、入力の無い行の行高縮小マクロにも利用可能ではと考えてもいます。
マクロの実行ボタンの作成は作成することができます。
ご教示をお願いいたします。
No.4ベストアンサー
- 回答日時:
こんな感じでいかがでしょうか?
Sub sample1()
Dim rHeight As Single
Dim i As Integer
rHeight = InputBox("高さを指定してください。", "セルの高さ", 0)
For i = 5 To 36
If Weekday(Cells(i, 1), vbMonday) > 5 Then
Cells(i, 1).RowHeight = rHeight
Else
Cells(i, 1).RowHeight = ActiveSheet.StandardHeight
End If
Next
End Sub
No.2
- 回答日時:
土日の行の高さを固定値で設定するマクロ(Macro1)と、5~36行目を自動調整するマクロ(Macro2)です。
ご参考までSub Macro1()
Dim idx As Integer
For idx = 5 To 36
If Weekday(Cells(idx, "A")) = vbSunday Or _
Weekday(Cells(idx, "A")) = vbSaturday Then
Rows(idx).RowHeight = 18
End If
Next
End Sub
Sub Macro2()
Rows("5:36").AutoFit
End Sub
No.1
- 回答日時:
曜日がどのように表示してあるのかわかりませんでしたので、一応、"土"、"土曜"、"土曜日"に対応させました。
Sub test01()
h = InputBox("土日の行の高さをご指定ください。")
If h = "False" Or h = "" Then
Exit Sub
End If
With ActiveSheet
For Each c In .Range("B6:B36")
If c.Value Like "土*" Or c.Value Like "日*" Then
c.EntireRow.RowHeight = h
End If
Next c
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセル 全自動シフト表の祝日シフト表示を消すには? 3 2022/04/23 16:43
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
太字に設定されているセルの個...
-
Excelでセルをクリックす...
-
エクセル 数字をすべて○などの...
-
excelのソルバーをVBAで複数行...
-
Excel 2010 プルダウンメニュー...
-
セルがクリックされた回数をカ...
-
現在のセルの位置を返す関数は...
-
Excelのマクロ教えてください
-
ハイパーリンクのイベント挙動...
-
マクロでVLOOKUP関数をつかいた...
-
クリックすると文章が表示され...
-
Excelで挿入した図をセルの中央...
-
エクセル マクロ フルパスか...
-
エクセルシート内のある数値以...
-
エクセルでページ数をあるセル...
-
エクセル 未入力セルがあると...
-
【EXCEL】先週の月曜日の日付を...
-
エクセルVBA
-
Excel:シートの保護
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excelで挿入した図をセルの中央...
-
太字に設定されているセルの個...
-
現在のセルの位置を返す関数は...
-
セルがクリックされた回数をカ...
-
エクセルでの検索ボックスの作...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
【EXCEL】先週の月曜日の日付を...
-
VBA 見つからなかった時の処理
-
エクセルでページ数をあるセル...
-
空白セルを空セルに置き換える...
おすすめ情報