【VBA】スケジュール表の描画(ステップ1)月・日・曜日と罫線を描画

このエントリーをはてなブックマークに追加
宇宙飛行士
VBA/マイクロソフトオフィス系

今回はこれを作ります

f:id:Moriane:20220412083507p:plain

コード

Public Sub スケジュール表描画()
  Workbooks.Add   ' 新規ブック追加
  Range("A1").Value = "2022/8/26"  '表示形式を設定
  Range("A1").NumberFormatLocal = "m/d(aaa)" '表示形式を「月/日(曜日)に設定」

  'オートフィルで連続した月日曜日を描画
  Range("A1").AutoFill Destination:=Range("A1:A32"), Type:=xlFillSeries

  Range("A1:B32").Borders.Weight = xlThin  '格子状の細線を引く
  Range("A1:B32").BorderAround Weight:=xlThick   '格子状の細線を引く
  Range("B1").ColumnWidth = 40  '列幅の設定

End Sub

ところで、以前VBAをVSCodeと連携しようとして失敗したけど、
VSCodeにて、拡張子に「.vba」をつけてファイルを保存したら、
VBAの補完が使えるようになった💛

これからはこれを活用します!!💡
f:id:Moriane:20220412083837p:plain

 

固定した期間にて、月・日・曜日を1つの列に描画

▼セルの表示形式を設定

オブジェクト.NumberFormatLocal = "表示形式"

 

▼Auto Fillメソッドを用いて、次の書式で記述

オブジェクト.AutoFill Destination:=セル範囲, Type:=fireworksフィルの内容

 

▼A1セルの値を使い、A1〜A32セルの範囲にオートフィルで連続データを入力する

オブジェクト.AutoFill Destination:=セル範囲, Type:=フィル内容

フィル内容の定数

定数フィルの内容
xlFillDefaultオートフィル
xlFillCopyセルのコピー
xlFillSeries連続データ
xlFillValues書式なしコピー
xlFillFoemats書式のみコピー

格子状の罫線を引く

オブジェクト.Borders(罫線の位置)

※罫線の位置を省略するとセル範囲に格子状に罫線が引かれる
罫線の指定、プロパティの種類についてはこちら

指定したセル範囲の周囲のみに罫線を引くBorderAroudメソッドも便利!

Range("A1:B32").BorderAround LineStyle:=線の種類, Weight:=線の太さ, Color:=色

以上を使って、冒頭の内容を作ります!

Public Sub スケジュール表描画()
Workbooks.Add   ' 新規ブック追加
Range("A1").Value = "2022/8/26"  '表示形式を設定
Range("A1").NumberFormatLocal = "m/d(aaa)" '表示形式を「月/日(曜日)に設定」
'オートフィルで連続した月日曜日を描画
Range("A1").AutoFill Destination:=Range("A1:A32"), Type:=xlFillSeries
Range("A1:B32").Borders.Weight = xlThin  '格子状の細線を引く
Range("A1:B32").BorderAround Weight:=xlThick   '格子状の細線を引く
Range("B1").ColumnWidth = 40  '列幅の設定
End Sub

次は月と日と曜日を別々に分けて描画するよ!
https://noeiganolife.com/vba_schedule_day_month/

今回はここまで🌸

suno
suno

それではまた!

sunoでした

コメント

タイトルとURLをコピーしました