A VBA-powered one-click tool to design and print professional seating charts — all inside Microsoft Excel. Perfect for schools, theaters, meetings, and events, with layouts like School / Theater / Square / U-shape / Island / Opposed.
- Sheet UI Setup:
DesignSheetsstyles and wires up the 設定 / 座席表 / 資材置き場 sheets you create. - One-Click Chart Creation: “座席表を作成!” button renders tables & chairs with human-friendly numbering.
- Multiple Layouts: School / Theater / Square (ロの字) / U-shape (コの字) / Island / Opposed.
- Print-Ready: Optimized for A4 (Portrait & Landscape) with margins, header band, and no label overlap.
- Clean, Readable Code: Pure VBA, no external scripts.
Here’s how to get up and running.
Create a new .xlsm workbook.
Add three worksheets and rename them exactly:
設定(settings & input UI)座席表(chart output)資材置き場(reusable shapes)
The VBA code references these names. Make sure they match exactly.
Open the VBA Editor (Alt + F11), then import all .bas files from vba_modules:
Constants.basSheetDesigner.basSeatingChartMaker.bas
Open the sheet module for the worksheet named 設定 and paste:
Option Explicit
Private Sub Worksheet_Activate()
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("C13")) Is Nothing Then
Application.EnableEvents = False
SeatingChartMaker.ToggleLayoutInputs
Application.EnableEvents = True
End If
End SubRun the DesignSheets macro. It will format the sheets you created, place the 「座席表を作成!」 button on 設定, and prepare validation lists and print settings.
- On 設定, fill in event name, date/time, location, participant count, layout details, and paper orientation.
- Click 「座席表を作成!」.
- View and print from 座席表 (A4 optimized).
| Path | Description |
|---|---|
vba_modules/Constants.bas |
Constants, colors, helper functions |
vba_modules/SheetDesigner.bas |
Sheet formatting and UI setup |
vba_modules/SeatingChartMaker.bas |
Layout drawing logic |
docs/images/ |
Optional screenshots for README |
sample_data/sample_output.xlsx |
Sample output workbook |
This project is released under the MIT License. See LICENSE for details.
Microsoft Excel(VBA)だけでワンクリックで座席表を作成し、A4 サイズで美しく印刷できます。 レイアウトは スクール/シアター/ロの字/コの字/島型/対面に対応。
- UI セットアップ:
DesignSheetsは、あなたが用意した「設定」「座席表」「資材置き場」シートを整形し、入力規則や印刷設定を配置します。 - ワンクリック作成:「座席表を作成!」ボタンで机・椅子を自動描画。
- 複数レイアウト対応:スクール/シアター/ロの字/コの字/島型/対面。
- 印刷最適化:A4 縦横、余白・見出しの調整済み。重なりを抑制。
- 読みやすい純 VBA:外部スクリプト不要。
新規に .xlsm ブックを作成します。
ブックに以下の 3 シートを追加し、正確にリネームしてください。
設定(入力 UI)座席表(出力)資材置き場(パーツ置き場)
VBA でこれらのシート名を参照しています。必ず名称を一致させてください。
Alt + F11 で VBE を開き、vba_modules の .bas をすべてインポートします。
Constants.basSheetDesigner.basSeatingChartMaker.bas
「設定」シートのシートモジュールに、次のコードを貼り付けます。
Option Explicit
Private Sub Worksheet_Activate()
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("C13")) Is Nothing Then
Application.EnableEvents = False
SeatingChartMaker.ToggleLayoutInputs
Application.EnableEvents = True
End If
End SubDesignSheets を実行すると、作成した 3 シートが整形され、
「設定」に 「座席表を作成!」 ボタンや入力規則、印刷設定が配置されます。
- 「設定」で会議名・日時・場所・人数・レイアウト・用紙の向きを入力
- 「座席表を作成!」 をクリック
- 「座席表」から印刷(A4 最適化)
| パス | 説明 |
|---|---|
vba_modules/Constants.bas |
定数・色・ヘルパー関数 |
vba_modules/SheetDesigner.bas |
シート整形と UI セットアップ |
vba_modules/SeatingChartMaker.bas |
レイアウト描画ロジック |
docs/images/ |
README 用スクリーンショット |
sample_data/sample_output.xlsx |
出力サンプル(見本ブック) |
このプロジェクトは MIT ライセンスで公開しています。 詳しくは LICENSE をご確認ください。
