ごはんのメニューをランダムに決めるマクロを紹介
ごはんのメニュー決めるの面倒くさい
今回は、こんなお悩みを持つ人に向けた内容です。
我が家では1週間分のメニューをまとめて決めているのですが、決めるのが面倒くさくて仕方がありません。
この問題を解決するため、ごはんのメニューを自動的に決めるマクロを作成しました。
メニューリストの中から、ランダムで1週間分のメニューを選び出してくれます。
同じお悩みを持つ方は使用してみてください。
メニュー決めマクロの使い方
事前準備
事前準備として次の2つの名前のシートを作成します。
- Sheet1
- MenuList
そして、MenuListのシートには上の画像のようにA列にメニューの候補一覧を入力しておきます。
この候補の中からランダムで1週間分のメニューを選び出します。
マクロのコード
メニューを決めるマクロのコードは次のようになります。
Sub ChooseMenu()
Dim shtMain As Worksheet: Set shtMain = ThisWorkbook.Sheets("sheet1")
Dim shtMenuData As Worksheet: Set shtMenuData = ThisWorkbook.Sheets("MenuList")
'メニュー数取得
Dim lngMenuNum As Long
lngMenuNum = shtMenuData.Cells(Rows.Count, 1).End(xlUp).Row
'乱数生成(かぶりNG)
Dim strMenu(0 To 6, 0) As String '一括貼付けのため2次元配列
Dim blUsed() As Boolean: ReDim blUsed(lngMenuNum)
Dim tmpNum As Long
Dim intI As Integer
For intI = 0 To 6
Do
tmpNum = Int(Rnd * lngMenuNum) + 1
If blUsed(tmpNum) = False Then
blUsed(tmpNum) = True 'メニューのかぶり防止
strMenu(intI, 0) = shtMenuData.Cells(tmpNum, 1).Value
Exit Do
End If
Loop
Next
'メニューの表示
shtMain.Cells(1, 1).Resize(7, 1).Value = strMenu
End Sub
このマクロを実行すると、Sheet1に1週間分のメニューがランダムに選び出されます。