1.目的
SHOWROOMの配信者さんとリスナーさんの活動を支えるタイムテーブルを作成します。
①1周分の星集め時間
②1周分の星投げ時間
③捨て星時間(3周枠の計算に必要)
④配信前の星集め(95個)の時間(2周枠の計算に必要)
⑤配信時間
を入力するだけで、配信時間中にできる周回数とその周回数に応じた星集め時間を計算し、見やすいタイムテーブルを作成できます。
現在は2枠分の計算が可能です。
まだ完成していませんが一度このタイムテーブルを皆さんに使っていただきたいです。
そして様々なご意見・ご要望等をコメント欄やTwitter、私のSHOWROOMの配信等で伝えていただけると今後の開発の参考になります。
皆さんのご意見・ご要望をもとにスマートフォンアプリの開発もしたいと考えております。
よろしくお願いします。
2.Excelでの準備
## 2.1 マクロの有効化
最初にExcelのマクロを有効にする必要があります。以下のリンクを参考にしてください。
Excelマクロを有効化する方法はこちら
## 2.2 VBAプロジェクトの新規作成
開発タブをクリックします。
このような画面になり、プログラムを書き込めるようになります。
## 2.3コードを入力
以下のコードをコピーしてください。
(Sub calcration() から 最後のEnd Subまで一気にコピーしてください。)
Sub calcration()
Sheet1.Range("P8:AN20").Delete Shift:=xlShiftUp
Columns("P").ColumnWidth = 7
Columns("Q").ColumnWidth = 3
Columns("R").ColumnWidth = 7
Columns("S").ColumnWidth = 7
Columns("T").ColumnWidth = 3
Columns("U").ColumnWidth = 7
Columns("V").ColumnWidth = 7
Columns("W").ColumnWidth = 3
Columns("X").ColumnWidth = 7
Columns("Y").ColumnWidth = 7
Columns("Z").ColumnWidth = 3
Columns("AA").ColumnWidth = 7
Columns("AB").ColumnWidth = 7
Columns("AC").ColumnWidth = 3
Columns("AD").ColumnWidth = 7
Columns("AE").ColumnWidth = 10
Columns("AF").ColumnWidth = 7
Columns("AG").ColumnWidth = 3
Columns("AH").ColumnWidth = 7
Columns("AI").ColumnWidth = 5
Columns("AJ").ColumnWidth = 7
Columns("AK").ColumnWidth = 10
Columns("AL").ColumnWidth = 7
Columns("AM").ColumnWidth = 10
Columns("AN").ColumnWidth = 10
Dim tgm As String '星投げ時間(分)
tgm = Range("G4").Value
Dim tgs As String '星投げ時間(秒)
tgs = Range("H4").Value
Dim tcm As String '星集め時間(分)
tcm = Range("G5").Value
Dim tcs As String '星集め時間(秒)
tcs = Range("H5").Value
Dim tss As String '捨て星時間(2周)
tss = Range("G7").Value
Dim tsf As String '捨て星時間(3周)
tsf = Range("G10").Value
Dim tstarth As String '配信開始時刻(hour)
tstarth = Range("J4").Value
Dim tstartm As String '配信開始時刻(minute)
tstartm = Range("K4").Value
Dim tendh As String '配信終了時刻(hour)
tendh = Range("M4").Value
Dim tendm As String '配信終了時刻(minute)
tendm = Range("N4").Value
If Range("G4").Value = "" Or Range("H4").Value = "" Or Range("G5").Value = "" Or Range("H5").Value = "" Or Range("G7").Value = "" Or Range("G10").Value = "" Or Range("J4").Value = "" Or Range("K4").Value = "" Or Range("M4").Value = "" Or Range("N4").Value = "" Or Range("J5").Value = "" Or Range("K5").Value = "" Or Range("M5").Value = "" Or Range("N5").Value = "" Then
MsgBox "【エラー】未入力か所があります。"
Exit Sub
End If
If IsNumeric(Range("G4").Value) = False Or IsNumeric(Range("H4").Value) = False Or IsNumeric(Range("G5").Value) = False Or IsNumeric(Range("H5").Value) = False Or IsNumeric(Range("G7").Value) = False Or IsNumeric(Range("G10").Value) = False Or IsNumeric(Range("J4").Value) = False Or IsNumeric(Range("K4").Value) = False Or IsNumeric(Range("J5").Value) = False Or IsNumeric(Range("K5").Value) = False Or IsNumeric(Range("M4").Value) = False Or IsNumeric(Range("N4").Value) = False Or IsNumeric(Range("M5").Value) = False Or IsNumeric(Range("N5").Value) = False Then
MsgBox "【エラー】数値以外が入力されています。"
Exit Sub
Else
End If
Dim tstarth2 As String '配信開始時刻(hour)
tstarth2 = Cells(5, 10).Value
Dim tstartmi As String '配信開始時刻(minute)
tstartm2 = Cells(5, 11).Value
Dim tendhi As String '配信終了時刻(hour)
tendh2 = Cells(5, 13).Value
Dim tendmi As String '配信終了時刻(minute)
tendm2 = Cells(5, 14).Value
'無効なスケジュール判定
If (tstarth2 * 3600 + tstartm2 * 60) < (tendh * 3600 + tendm * 60) Then
MsgBox "【エラー】計算できません。配信時間を確認してください。"
Exit Sub
Else
End If
If (tendh * 3600) + (tendm * 60) - (tstarth * 3600) - (tstartm * 60) > 3600 Or (tendh2 * 3600) + (tendm2 * 60) - (tstarth2 * 3600) - (tstartm2 * 60) > 3600 Then
MsgBox "申し訳ありません。お試し版では一枠60分を超える配信には対応していません。"
Exit Sub
Else
End If
'一枠目(初)
'3周スケジュール
If (((tendh * 3600) + tendm * 60) - ((tstarth * 3600) + tstartm * 60) - (3600 - tsf * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
'星集め・捨て星・星投げ時間を表示
Range("P8").Value = "=ROUNDDOWN(((J4 * 60 + K4 - G10 - 60)/60),0)"
Range("Q8").Value = ":"
If tstartm + 60 - tsf > 60 Then
Range("R8").Value = "=K4 - G10"
Else
Range("R8").Value = "=K4+60 - G10"
End If
Range("P8", "R8").Interior.Color = RGB(255, 128, 128)
Range("S9").Value = "=ROUNDDOWN(((J4 * 60 + K4 - G10)/60),0)"
Range("T9").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("U9").Value = "=K4 - G10"
Else
Range("U9").Value = "=K4+60 - G10"
End If
Range("S9", "U9").Interior.Color = RGB(255, 128, 128)
Range("Y10").Value = "=ROUNDDOWN(((J4 * 60 + K4 +(60- G10))/60),0)"
Range("Z10").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("AA10").Value = "=K4- G10"
Else
Range("AA10").Value = "=K4+60 - G10"
End If
Range("Y10", "AA10").Interior.Color = RGB(255, 128, 128)
Range("AB10").Value = "=J4"
Range("AC10").Value = ":"
Range("AD10").Value = "=K4"
Range("AE10").Value = "ー"
Range("AF10").Value = "=M4"
Range("AG10").Value = ":"
Range("AH10").Value = "=N4"
Range("AI10").Value = "("
Range("AJ10").Value = "=((M4 * 60) + N4) - ((J4 * 60) + K4)"
Range("AK10").Value = "分)"
Range("AL10").Value = "=AJ10"
Range("AM10").Value = "分"
Range("AN10").Value = "3"
Range("AB10", "AN10").Interior.Color = RGB(255, 128, 128)
'一枠目(終)
'二枠目
'3周(時間調整なし)
If (tstarth2 * 3600 + tstartm2 * 60) - (3600 + tsf * 60) >= tstarth * 3600 + tstartm * 60 + 3600 - tsf * 60 + 3600 And (((tendh2 * 3600) + tendm2 * 60) - ((tstarth2 * 3600) + tstartm2 * 60) - (3600 - tsf * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("P11").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G10 - 60)/60),0)"
Range("Q11").Value = ":"
If tstartm2 + 60 - tsf > 60 Then
Range("R11").Value = "=K5 - G10"
Else
Range("R11").Value = "=K5+60 - G10"
End If
Range("P11", "R11").Interior.Color = RGB(0, 250, 154)
Range("S12").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G10)/60),0)"
Range("T12").Value = ":"
If tstartm2 + 60 - tsf >= 60 Then
Range("U12").Value = "=K5 - G10"
Else
Range("U12").Value = "=K5+60 - G10"
End If
Range("S12", "U12").Interior.Color = RGB(0, 250, 154)
Range("Y13").Value = "=ROUNDDOWN(((J5 * 60 + K5 +(60- G10))/60),0)"
Range("Z13").Value = ":"
If tstartm2 + 60 - tsf >= 60 Then
Range("AA13").Value = "=K5- G10"
Else
Range("AA13").Value = "=K5+60 - G10"
End If
Range("Y13", "AA13").Interior.Color = RGB(0, 250, 154)
Cells(13, 28).Value = Cells(5, 10)
Cells(13, 29).Value = ":"
Cells(13, 30).Value = Cells(5, 11)
Cells(13, 31).Value = "ー"
Cells(13, 32).Value = Cells(5, 13)
Cells(13, 33).Value = ":"
Cells(13, 34).Value = Cells(5, 14)
Cells(13, 35).Value = "("
Cells(13, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(13, 37).Value = "分)"
Cells(13, 38).Value = "=AJ10+AJ13"
Cells(13, 39).Value = "分"
Cells(13, 40).Value = "3"
Range(Cells(13, 28), Cells(13, 40)).Interior.Color = RGB(0, 250, 154)
'3周(時間調整あり)
ElseIf (tstarth2 * 3600 + tstartm2 * 60) - (3600 + tsf * 60) < tstarth * 3600 + tstartm * 60 + 3600 - tsf * 60 + 3600 And (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (3600 * 3) - (3600 - tsf * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("P11").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+3600)/3600),0)"
Range("Q11").Value = ":"
If tstartm + 60 - tsf > 60 Then
Range("R11").Value = "=AD10 - G10"
Else
Range("R11").Value = "=AD10+60 - G10"
End If
Range("P11", "R11").Interior.Color = RGB(0, 250, 154)
Range("S12").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+7200)/3600),0)"
Range("T12").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("U12").Value = "=AD10 - G10"
Else
Range("U12").Value = "=AD10+60 - G10"
End If
Range("S12", "U12").Interior.Color = RGB(0, 250, 154)
Range("Y13").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+10800)/3600),0)"
Range("Z13").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("AA13").Value = "=AD10- G10"
Else
Range("AA13").Value = "=AD10+60 - G10"
End If
Range("Y13", "AA13").Interior.Color = RGB(0, 250, 154)
Cells(13, 28).Value = Cells(5, 10)
Cells(13, 29).Value = ":"
Cells(13, 30).Value = Cells(5, 11)
Cells(13, 31).Value = "ー"
Cells(13, 32).Value = Cells(5, 13)
Cells(13, 33).Value = ":"
Cells(13, 34).Value = Cells(5, 14)
Cells(13, 35).Value = "("
Cells(13, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(13, 37).Value = "分)"
Cells(13, 38).Value = "=AJ10+AJ13"
Cells(13, 39).Value = "分"
Cells(13, 40).Value = "3a"
Range(Cells(13, 28), Cells(13, 40)).Interior.Color = RGB(0, 250, 154)
'2周(時間調整なし)
ElseIf (tstarth2 * 3600 + tstartm2 * 60) - (tss * 60) >= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + 60 * 60 And (((tendh2 * 3600) + tendm2 * 60) - ((tstarth2 * 3600) + tstartm2 * 60) - (3600 - tss * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("V11").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G7)/60),0)"
Range("W11").Value = ":"
If tstartm2 + 60 - tss >= 60 Then
Range("X11").Value = "=K5- G7"
Else
Range("X11").Value = "=K5+60 - G7"
End If
Range("V11", "X11").Interior.Color = RGB(0, 250, 154)
Range("Y12").Value = "=ROUNDDOWN(((J5 * 60 + K5 +(60- G7))/60),0)"
Range("Z12").Value = ":"
If tstartm2 + 60 - tss >= 60 Then
Range("AA12").Value = "=K5 - G7"
Else
Range("AA12").Value = "=K5+60 - G7"
End If
Range("Y12", "AA12").Interior.Color = RGB(0, 250, 154)
Cells(12, 28).Value = Cells(5, 10)
Cells(12, 29).Value = ":"
Cells(12, 30).Value = Cells(5, 11)
Cells(12, 31).Value = "ー"
Cells(12, 32).Value = Cells(5, 13)
Cells(12, 33).Value = ":"
Cells(12, 34).Value = Cells(5, 14)
Cells(12, 35).Value = "("
Cells(12, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(12, 37).Value = "分)"
Cells(12, 38).Value = "=AJ10+AJ12"
Cells(12, 39).Value = "分"
Cells(12, 40).Value = "2"
Range(Cells(12, 28), Cells(12, 40)).Interior.Color = RGB(0, 250, 154)
'2周枠(時間調整あり)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (120 * 60) - (60 * 60 - tsf * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) - (tss * 60) < (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + 60 * 60 Then
Range("V11").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+3600)/3600),0)"
Range("W11").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X11").Value = "=AD10- G10"
Else
Range("X11").Value = "=AD10+60 - G10"
End If
Range("V11", "X11").Interior.Color = RGB(0, 250, 154)
Range("Y12").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+7200)/3600),0)"
Range("Z12").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("AA12").Value = "=AD10 - G10"
Else
Range("AA12").Value = "=AD10+60 - G10"
End If
Range("Y12", "AA12").Interior.Color = RGB(0, 250, 154)
Cells(12, 28).Value = Cells(5, 10)
Cells(12, 29).Value = ":"
Cells(12, 30).Value = Cells(5, 11)
Cells(12, 31).Value = "ー"
Cells(12, 32).Value = Cells(5, 13)
Cells(12, 33).Value = ":"
Cells(12, 34).Value = Cells(5, 14)
Cells(12, 35).Value = "("
Cells(12, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(12, 37).Value = "分)"
Cells(12, 38).Value = "=AJ10+AJ12"
Cells(12, 39).Value = "分"
Cells(12, 40).Value = "2a"
Range(Cells(12, 28), Cells(12, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整なし)
ElseIf (tstarth2 * 3600 + tatartm2 * 60) >= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + (60 * 60) And (tendh2 * 3600 + tendm2 * 60) - (tstarth2 * 3600 + tstartm2 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("V11").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+3600)/3600),0)"
Range("W11").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X11").Value = "=AD10 - G10"
Else
Range("X11").Value = "=AD10+60 - G10"
End If
Range("V11", "X11").Interior.Color = RGB(0, 250, 154)
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ10+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "1"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整あり1)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tsf * 60) - (60 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) > (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + 60 * 60 Then
Range("V11").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+3600)/3600),0)"
Range("W11").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X11").Value = "=AD10 - G10"
Else
Range("X11").Value = "=AD10+60 - G10"
End If
Range("V11", "X11").Interior.Color = RGB(0, 250, 154)
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ10+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "1a"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整あり2)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tsf * 60) - (60 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) <= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + 60 * 60 Then
Range("Y11").Value = "=ROUNDDOWN(((AB10 *3600+AD10*60+3600)/3600),0)"
Range("Z11").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("AA11").Value = "=K4 - G10"
Else
Range("AA11").Value = "=K4+60 - G10"
End If
Range("Y11", "AA11").Interior.Color = RGB(0, 250, 154)
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ10+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "1b"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
'0枠
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tsf * 60) - (60 * 60) < (tgm * 60 + tgs + tcm * 60 + tcs) Then
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ10+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "0"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
Else
MsgBox "Kimiが想定していないスケジュールパターンです。入力情報をKimiに報告していただけると幸いです。"
End If
'2周スケジュール
ElseIf (((tendh * 3600) + tendm * 60) - ((tstarth * 3600) + tstartm * 60) - (3600 - tss * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
'星集め・捨て星・星投げ時間を表示
Range("V8").Value = "=ROUNDDOWN(((J4 * 60 + K4 - G7)/60),0)"
Range("W8").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X8").Value = "=K4- G7"
Else
Range("X8").Value = "=K4+60 - G7"
End If
Range("V8", "X8").Interior.Color = RGB(255, 128, 128)
Range("Y9").Value = "=ROUNDDOWN(((J4 * 60 + K4 +(60- G7))/60),0)"
Range("Z9").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("AA9").Value = "=K4 - G7"
Else
Range("AA9").Value = "=K4+60 - G7"
End If
Range("Y9", "AA9").Interior.Color = RGB(255, 128, 128)
Range("AB9").Value = "=J4"
Range("AC9").Value = ":"
Range("AD9").Value = "=K4"
Range("AE9").Value = "ー"
Range("AF9").Value = "=M4"
Range("AG9").Value = ":"
Range("AH9").Value = "=N4"
Range("AI9").Value = "("
Range("AJ9").Value = "=((M4 * 60) + N4) - ((J4 * 60) + K4)"
Range("AK9").Value = "分)"
Range("AL9").Value = "=AJ9"
Range("AM9").Value = "分"
Range("AN9").Value = "2"
Range("AB9", "AN9").Interior.Color = RGB(255, 128, 128)
'一枠目(終)
'二枠目
'3周(時間調整なし)
If (tstarth2 * 3600 + tstartm2 * 60) - (60 * 60) - (tsf * 60) >= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tss * 60) + (60 * 60) And (((tendh2 * 3600) + tendm2 * 60) - ((tstarth2 * 3600) + tstartm2 * 60) - (3600 - tsf * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("P10").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G10 - 60)/60),0)"
Range("Q10").Value = ":"
If tstartm2 + 60 - tsf > 60 Then
Range("R10").Value = "=K5 - G10"
Else
Range("R10").Value = "=K5+60 - G10"
End If
Range("P10", "R10").Interior.Color = RGB(0, 250, 154)
Range("S11").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G10)/60),0)"
Range("T11").Value = ":"
If tstartm2 + 60 - tsf >= 60 Then
Range("U11").Value = "=K5 - G10"
Else
Range("U11").Value = "=K5+60 - G10"
End If
Range("S11", "U11").Interior.Color = RGB(0, 250, 154)
Range("Y12").Value = "=ROUNDDOWN(((J5 * 60 + K5 +(60- G10))/60),0)"
Range("Z12").Value = ":"
If tstartm2 + 60 - tsf >= 60 Then
Range("AA12").Value = "=K5- G10"
Else
Range("AA12").Value = "=K5+60 - G10"
End If
Range("Y12", "AA12").Interior.Color = RGB(0, 250, 154)
Cells(12, 28).Value = Cells(5, 10)
Cells(12, 29).Value = ":"
Cells(12, 30).Value = Cells(5, 11)
Cells(12, 31).Value = "ー"
Cells(12, 32).Value = Cells(5, 13)
Cells(12, 33).Value = ":"
Cells(12, 34).Value = Cells(5, 14)
Cells(12, 35).Value = "("
Cells(12, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(12, 37).Value = "分)"
Cells(12, 38).Value = "=AJ9+AJ12"
Cells(12, 39).Value = "分"
Cells(12, 40).Value = "3"
Range(Cells(12, 28), Cells(12, 40)).Interior.Color = RGB(0, 250, 154)
'3周(時間調整あり)
ElseIf (tstarth2 * 3600 + tstartm2 * 60) - (3600 + tsf * 60) < tstarth * 3600 + tstartm * 60 + 3600 - tss * 60 + 3600 And (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (3600 * 3) - (3600 - tss * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("P10").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+3600)/3600),0)"
Range("Q10").Value = ":"
If tstartm + 60 - tsf > 60 Then
Range("R10").Value = "=AD9 - G7"
Else
Range("R10").Value = "=AD9+60 - G7"
End If
Range("P10", "R10").Interior.Color = RGB(0, 250, 154)
Range("S11").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+7200)/3600),0)"
Range("T11").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("U11").Value = "=AD9 - G7"
Else
Range("U11").Value = "=AD9+60 - G7"
End If
Range("S11", "U11").Interior.Color = RGB(0, 250, 154)
Range("Y12").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+10800)/3600),0)"
Range("Z12").Value = ":"
If tstartm + 60 - tsf >= 60 Then
Range("AA12").Value = "=AD9- G7"
Else
Range("AA12").Value = "=AD9+60 - G7"
End If
Range("Y12", "AA12").Interior.Color = RGB(0, 250, 154)
Cells(12, 28).Value = Cells(5, 10)
Cells(12, 29).Value = ":"
Cells(12, 30).Value = Cells(5, 11)
Cells(12, 31).Value = "ー"
Cells(12, 32).Value = Cells(5, 13)
Cells(12, 33).Value = ":"
Cells(12, 34).Value = Cells(5, 14)
Cells(12, 35).Value = "("
Cells(12, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(12, 37).Value = "分)"
Cells(12, 38).Value = "=AJ9+AJ12"
Cells(12, 39).Value = "分"
Cells(12, 40).Value = "3a"
Range(Cells(12, 28), Cells(12, 40)).Interior.Color = RGB(0, 250, 154)
'2周(時間調整なし)
ElseIf (tstarth2 * 3600 + tstartm2 * 60) - (tss * 60) >= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tss * 60) + 60 * 60 And (((tendh2 * 3600) + tendm2 * 60) - ((tstarth2 * 3600) + tstartm2 * 60) - (3600 - tss * 60)) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("V10").Value = "=ROUNDDOWN(((J5 * 60 + K5 - G7)/60),0)"
Range("W10").Value = ":"
If tstartm2 + 60 - tss >= 60 Then
Range("X10").Value = "=K5- G7"
Else
Range("X10").Value = "=K5+60 - G7"
End If
Range("V10", "X10").Interior.Color = RGB(0, 250, 154)
Range("Y11").Value = "=ROUNDDOWN(((J5 * 60 + K5 +(60- G7))/60),0)"
Range("Z11").Value = ":"
If tstartm2 + 60 - tss >= 60 Then
Range("AA11").Value = "=K5 - G7"
Else
Range("AA11").Value = "=K5+60 - G7"
End If
Range("Y11", "AA11").Interior.Color = RGB(0, 250, 154)
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ9+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "2"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
'2周枠(時間調整あり)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (120 * 60) - (60 * 60 - tss * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) - (tss * 60) < (tstarth * 3600 + tstartm * 60) + (60 * 60 - tss * 60) + 60 * 60 Then
Range("V10").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+3600)/3600),0)"
Range("W10").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X10").Value = "=AD9- G7"
Else
Range("X10").Value = "=AD9+60 - G7"
End If
Range("V10", "X10").Interior.Color = RGB(0, 250, 154)
Range("Y11").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+7200)/3600),0)"
Range("Z11").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("AA11").Value = "=AD9 - G7"
Else
Range("AA11").Value = "=AD9+60 - G7"
End If
Range("Y11", "AA11").Interior.Color = RGB(0, 250, 154)
Cells(11, 28).Value = Cells(5, 10)
Cells(11, 29).Value = ":"
Cells(11, 30).Value = Cells(5, 11)
Cells(11, 31).Value = "ー"
Cells(11, 32).Value = Cells(5, 13)
Cells(11, 33).Value = ":"
Cells(11, 34).Value = Cells(5, 14)
Cells(11, 35).Value = "("
Cells(11, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(11, 37).Value = "分)"
Cells(11, 38).Value = "=AJ9+AJ11"
Cells(11, 39).Value = "分"
Cells(11, 40).Value = "2a"
Range(Cells(11, 28), Cells(11, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整なし)
ElseIf (tstarth2 * 3600 + tatartm2 * 60) >= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tss * 60) + (60 * 60) And (tendh2 * 3600 + tendm2 * 60) - (tstarth2 * 3600 + tstartm2 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) Then
Range("V10").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+3600)/3600),0)"
Range("W10").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X10").Value = "=AD10 - G7"
Else
Range("X10").Value = "=AD10+60 - G7"
End If
Range("V10", "X10").Interior.Color = RGB(0, 250, 154)
Cells(10, 28).Value = Cells(5, 10)
Cells(10, 29).Value = ":"
Cells(10, 30).Value = Cells(5, 11)
Cells(10, 31).Value = "ー"
Cells(10, 32).Value = Cells(5, 13)
Cells(10, 33).Value = ":"
Cells(10, 34).Value = Cells(5, 14)
Cells(10, 35).Value = "("
Cells(10, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(10, 37).Value = "分)"
Cells(10, 38).Value = "=AJ9+AJ10"
Cells(10, 39).Value = "分"
Cells(10, 40).Value = "1"
Range(Cells(10, 28), Cells(10, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整あり1)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tss * 60) - (60 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) > (tstarth * 3600 + tstartm * 60) + (60 * 60 - tss * 60) + 60 * 60 Then
Range("V10").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+3600)/3600),0)"
Range("W10").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("X10").Value = "=AD9 - G7"
Else
Range("X10").Value = "=AD9+60 - G7"
End If
Range("V10", "X10").Interior.Color = RGB(0, 250, 154)
Cells(10, 28).Value = Cells(5, 10)
Cells(10, 29).Value = ":"
Cells(10, 30).Value = Cells(5, 11)
Cells(10, 31).Value = "ー"
Cells(10, 32).Value = Cells(5, 13)
Cells(10, 33).Value = ":"
Cells(10, 34).Value = Cells(5, 14)
Cells(10, 35).Value = "("
Cells(10, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(10, 37).Value = "分)"
Cells(10, 38).Value = "=AJ9+AJ10"
Cells(10, 39).Value = "分"
Cells(10, 40).Value = "1a"
Range(Cells(10, 28), Cells(10, 40)).Interior.Color = RGB(0, 250, 154)
'1周枠(調整あり2)
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tss * 60) - (60 * 60) >= (tgm * 60 + tgs + tcm * 60 + tcs) And (tstarth2 * 3600 + tstartm2 * 60) <= (tstarth * 3600 + tstartm * 60) + (60 * 60 - tsf * 60) + 60 * 60 Then
Range("Y10").Value = "=ROUNDDOWN(((AB9 *3600+AD9*60+3600)/3600),0)"
Range("Z10").Value = ":"
If tstartm + 60 - tss >= 60 Then
Range("AA10").Value = "=K4 - G7"
Else
Range("AA10").Value = "=K4+60 - G7"
End If
Range("Y10", "AA10").Interior.Color = RGB(0, 250, 154)
Cells(10, 28).Value = Cells(5, 10)
Cells(10, 29).Value = ":"
Cells(10, 30).Value = Cells(5, 11)
Cells(10, 31).Value = "ー"
Cells(10, 32).Value = Cells(5, 13)
Cells(10, 33).Value = ":"
Cells(10, 34).Value = Cells(5, 14)
Cells(10, 35).Value = "("
Cells(10, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(10, 37).Value = "分)"
Cells(10, 38).Value = "=AJ9+AJ10"
Cells(10, 39).Value = "分"
Cells(10, 40).Value = "1b"
Range(Cells(10, 28), Cells(10, 40)).Interior.Color = RGB(0, 250, 154)
'0枠
ElseIf (tendh2 * 3600 + tendm2 * 60) - (tstarth * 3600 + tstartm * 60) - (60 * 60 - tss * 60) - (60 * 60) < (tgm * 60 + tgs + tcm * 60 + tcs) Then
Cells(10, 28).Value = Cells(5, 10)
Cells(10, 29).Value = ":"
Cells(10, 30).Value = Cells(5, 11)
Cells(10, 31).Value = "ー"
Cells(10, 32).Value = Cells(5, 13)
Cells(10, 33).Value = ":"
Cells(10, 34).Value = Cells(5, 14)
Cells(10, 35).Value = "("
Cells(10, 36).Value = "=((M5 * 60) + N5) - ((J5 * 60) + K5)"
Cells(10, 37).Value = "分)"
Cells(10, 38).Value = "=AJ9+AJ10"
Cells(10, 39).Value = "分"
Cells(10, 40).Value = "0"
Range(Cells(10, 28), Cells(10, 40)).Interior.Color = RGB(0, 250, 154)
Else
MsgBox "Kimiが想定していないスケジュールパターンです。入力情報をKimiに報告していただけると幸いです。"
End If
Else
MsgBox "error"
Exit Sub
End If
'フォント、桁数、位置
Range("P8", "AN15").Font.Name = "HG丸ゴシックM-PRO"
Range("P8", "AN15").Font.Size = 18
Range("Q8", "R15").EntireColumn.AutoFit
Range("T8", "U15").EntireColumn.AutoFit
Range("W8", "X15").EntireColumn.AutoFit
Range("Z8", "AA15").EntireColumn.AutoFit
Range("AB8", "AN15").EntireColumn.AutoFit
Range("R5", "R13").NumberFormatLocal = "00"
Range("U5", "U13").NumberFormatLocal = "00"
Range("X5", "X13").NumberFormatLocal = "00"
Range("AA5", "AA13").NumberFormatLocal = "00"
Range("AD5", "AD13").NumberFormatLocal = "00"
Range("AH5", "AH13").NumberFormatLocal = "00"
Range("P8", "P13").HorizontalAlignment = xlRight
Range("S8", "S13").HorizontalAlignment = xlRight
Range("V8", "V13").HorizontalAlignment = xlRight
Range("Y8", "Y13").HorizontalAlignment = xlRight
Range("AB8", "AB13").HorizontalAlignment = xlRight
Range("AF8", "AF13").HorizontalAlignment = xlRight
Range("AI8", "AI13").HorizontalAlignment = xlRight
Range("Q8", "Q13").HorizontalAlignment = xlCenter
Range("T8", "T13").HorizontalAlignment = xlCenter
Range("W8", "W13").HorizontalAlignment = xlCenter
Range("Z8", "Z13").HorizontalAlignment = xlCenter
Range("AC8", "AC13").HorizontalAlignment = xlCenter
Range("AG8", "AG13").HorizontalAlignment = xlCenter
Range("AJ8", "AJ13").HorizontalAlignment = xlCenter
Range("AL8", "AL13").HorizontalAlignment = xlCenter
Range("AM8", "AM13").HorizontalAlignment = xlCenter
Range("AN8", "AN13").HorizontalAlignment = xlCenter
Range("R8", "R13").HorizontalAlignment = xlLeft
Range("U8", "U13").HorizontalAlignment = xlLeft
Range("X8", "X13").HorizontalAlignment = xlLeft
Range("AA8", "AA13").HorizontalAlignment = xlLeft
Range("AD8", "AD13").HorizontalAlignment = xlLeft
Range("AH8", "AH13").HorizontalAlignment = xlLeft
Range("AK8", "AK13").HorizontalAlignment = xlLeft
Range("P15", "AN16").Merge
Range("P15", "AN16").Interior.Color = RGB(255, 255, 0)
Range("P15") = "【注意】このプログラムはお試し版です。計算結果が正確であるとは限りません。" & Chr(13) & Chr(10) & "よってこのプログラムによるいかなるトラブルに関して、責任を負いかねます。"
Range("P15").Font.Name = "HG丸ゴシックM-PRO"
Range("P15").Font.Size = 18
Range("P15").HorizontalAlignment = xlCenter
End Sub
Sub Clear()
Sheets("Sheet1").Cells.Clear
End Sub
Sub inputs()
Columns("A").ColumnWidth = 5
Columns("B").ColumnWidth = 10
Columns("C").ColumnWidth = 10
Columns("D").ColumnWidth = 10
Columns("E").ColumnWidth = 7
Columns("F").ColumnWidth = 7
Columns("G").ColumnWidth = 12
Columns("H").ColumnWidth = 10
Columns("I").ColumnWidth = 5
Columns("J").ColumnWidth = 5
Columns("K").ColumnWidth = 5
Columns("L").ColumnWidth = 5
Columns("M").ColumnWidth = 5
Columns("N").ColumnWidth = 5
Columns("O").ColumnWidth = 5
Columns("P").ColumnWidth = 7
Columns("Q").ColumnWidth = 3
Columns("R").ColumnWidth = 7
Columns("S").ColumnWidth = 7
Columns("T").ColumnWidth = 3
Columns("U").ColumnWidth = 7
Columns("V").ColumnWidth = 7
Columns("W").ColumnWidth = 3
Columns("X").ColumnWidth = 7
Columns("Y").ColumnWidth = 7
Columns("Z").ColumnWidth = 3
Columns("AA").ColumnWidth = 7
Columns("AB").ColumnWidth = 7
Columns("AC").ColumnWidth = 3
Columns("AD").ColumnWidth = 7
Columns("AE").ColumnWidth = 10
Columns("AF").ColumnWidth = 7
Columns("AG").ColumnWidth = 3
Columns("AH").ColumnWidth = 7
Columns("AI").ColumnWidth = 5
Columns("AJ").ColumnWidth = 7
Columns("AK").ColumnWidth = 10
Columns("AL").ColumnWidth = 7
Columns("AM").ColumnWidth = 10
Columns("AN").ColumnWidth = 10
Range("G3") = "分"
Range("G3").Font.Name = "HG丸ゴシックM-PRO"
Range("G3").Font.Size = 18
Range("H3") = "秒"
Range("H3").Font.Name = "HG丸ゴシックM-PRO"
Range("H3").Font.Size = 18
Range("C4", "F4").Merge
Range("C4") = "1周分の星投げ時間(tg)"
Range("C4").Font.Name = "HG丸ゴシックM-PRO"
Range("C4").Font.Size = 18
Range("C5", "F5").Merge
Range("C5") = "1周分の星集め時間(tc)"
Range("C5").Font.Name = "HG丸ゴシックM-PRO"
Range("C5").Font.Size = 18
Range("G4", "H5").Font.Name = "HG丸ゴシックM-PRO"
Range("G4", "H5").Font.Size = 18
Range("B3:H5").HorizontalAlignment = xlCenter
Dim tgm As String '星投げ時間(分)
tgm = Range("G4").Value
Dim tgs As String '星投げ時間(秒)
tgs = Range("H4").Value
Dim tg As String
tg = "tgm + (tgs / 60)"
Dim tcm As String '星集め時間(分)
tcm = Range("G5").Value
Dim tcs As String '星集め時間(秒)
tcs = Range("H5").Value
Range("H4").NumberFormatLocal = "00"
Range("H5").NumberFormatLocal = "00"
Dim tc As String
tc = "tcm + (tcs / 60)"
Range("B7", "F7").Merge
Range("B7") = "【2周】星集め(95個)開始は"
Range("G7").Interior.Color = RGB(255, 255, 0)
Range("H7") = "分前"
Range("B8", "D8").Merge
Range("B8") = "(計算結果)早くても"
Range("E8").Value = "=ROUNDDOWN(60-(G4+(H4/60)),0)"
Range("F8") = "分前"
Range("B10", "F10").Merge
Range("B10") = "【3周】捨て星開始は"
Range("G10").Interior.Color = RGB(255, 255, 0)
Range("H10") = "分前"
Range("B11", "D11").Merge
Range("B11") = "(計算結果)早くても"
Range("E11").Value = "=ROUNDDOWN(60-(2*(G4+(H4/60))+(G5+(H5/60))),0)"
Range("F11") = "分前"
Range("B7", "H11").Font.Name = "HG丸ゴシックM-PRO"
Range("B7", "H11").Font.Size = 18
Range("B8", "H8").Font.Color = RGB(256, 0, 0)
Range("B11", "H11").Font.Color = RGB(256, 0, 0)
Range("B7", "H11").EntireColumn.AutoFit
Range("B7", "B11").HorizontalAlignment = xlRight
Range("E8", "E11").HorizontalAlignment = xlCenter
Range("J2", "N2").Merge
Range("J2") = "配信時間(二枠分)"
Range("J2").Font.Name = "HG丸ゴシックM-PRO"
Range("J2").Font.Size = 18
Range("J3,M3") = " 時 "
Range("J3,M3").Font.Name = "HG丸ゴシックM-PRO"
Range("J3,M3").Font.Size = 18
Range("K3,N3") = " 分 "
Range("K3,N3").Font.Name = "HG丸ゴシックM-PRO"
Range("K3,N3").Font.Size = 18
Range("J5").EntireColumn.AutoFit
Range("K5").EntireColumn.AutoFit
Range("M5").EntireColumn.AutoFit
Range("N5").EntireColumn.AutoFit
Range("1:25").RowHeight = 25
Range("J2:N100").HorizontalAlignment = xlCenter
Range("G4", "H5").Interior.Color = RGB(255, 255, 0)
Range("J4", "K5").Interior.Color = RGB(255, 255, 0)
Range("M4", "N5").Interior.Color = RGB(255, 255, 0)
Range("B13", "H13").Merge
Range("B14", "F14").Merge
Range("B15", "F15").Merge
Range("B16", "F16").Merge
Range("B17", "F19").Merge
Range("B13") = "イベントルール(バージョン2で導入予定)"
Range("B14") = "一枠の配信時間は最低"
Range("H14") = "分"
Range("B15") = "配信時間合計は最大"
Range("H15") = "分"
Range("B16") = "配信枠数は最大"
Range("H16") = "枠"
Range("B17") = "配信時間帯"
Range("H17") = "時"
Range("G18", "H18").Merge
Range("G18") = "~"
Range("H19") = "時"
Range("B13", "H19").Font.Name = "HG丸ゴシックM-PRO"
Range("B13", "H19").Font.Size = 18
Range("B13").HorizontalAlignment = xlCenter
Range("G18").HorizontalAlignment = xlCenter
Range("B14").HorizontalAlignment = xlRight
Range("B15").HorizontalAlignment = xlRight
Range("B16").HorizontalAlignment = xlRight
Range("B17").HorizontalAlignment = xlRight
Range("J4", "N6").Font.Name = "HG丸ゴシックM-PRO"
Range("J4", "N6").Font.Size = 18
Range("J2", "N6").EntireColumn.AutoFit
Range("K4").NumberFormatLocal = "00"
Range("N4").NumberFormatLocal = "00"
Range("K5").NumberFormatLocal = "00"
Range("N5").NumberFormatLocal = "00"
Range("B13", "H19").Interior.Color = RGB(200, 200, 255)
Range("J11", "N14").Merge
'Range("J11", "N14").Interior.Color = RGB(255, 255, 0)
Range("J11") = "②" & Chr(13) & Chr(10) & "黄色マーカー部分" & Chr(13) & Chr(10) & "に数値を入力"
Range("J11").Font.Name = "HG丸ゴシックM-PRO"
Range("J11").Font.Size = 22
Range("J11").HorizontalAlignment = xlCenter
Range("J11").Font.Color = RGB(256, 0, 0)
Range("P5", "R7").Merge
Range("P5") = "星満タン" & vbLf & "開始時刻"
Range("P5").Font.Name = "HG丸ゴシックM-PRO"
Range("P5").Font.Size = 18
Range("P5").EntireColumn.AutoFit
Range("S5", "U7").Merge
Range("S5") = "捨て星"
Range("S5").Font.Name = "HG丸ゴシックM-PRO"
Range("S5").Font.Size = 18
Range("S5").EntireColumn.AutoFit
Range("V5", "X7").Merge
Range("V5") = "星集め" & vbLf & "95個" & vbLf & "開始時刻"
Range("V5").Font.Name = "HG丸ゴシックM-PRO"
Range("V5").Font.Size = 18
Range("V5").EntireColumn.AutoFit
Range("Y5", "AA7").Merge
Range("Y5") = "星集め" & vbLf & "(100個)" & vbLf & "開始時刻"
Range("Y5").Font.Name = "HG丸ゴシックM-PRO"
Range("Y5").Font.Size = 18
Range("Y5").EntireColumn.AutoFit
Range("AB5:AK7").Merge
Range("AB5") = "配信時間"
Range("AB5").Font.Name = "HG丸ゴシックM-PRO"
Range("AB5").Font.Size = 18
Range("AB5").EntireColumn.AutoFit
Range("AL5", "AM7").Merge
Range("AL5") = "配信" & vbLf & "時間" & vbLf & "合計"
Range("AL5").Font.Name = "HG丸ゴシックM-PRO"
Range("AL5").Font.Size = 18
Range("AL5").EntireColumn.AutoFit
Range("AN5:AN7").Merge
Range("AN5") = "周回"
Range("AN5").Font.Name = "HG丸ゴシックM-PRO"
Range("AN5").Font.Size = 18
Range("AN5").EntireColumn.AutoFit
Range("K5").NumberFormatLocal = "00"
Range("N5").NumberFormatLocal = "00"
Range("P5:AN7").HorizontalAlignment = xlCenter
Range("P3:AN3").Merge
Range("P4:AN4").Merge
Range("P3") = "配信ルーム名を入力してください"
Range("P4") = "配信日を入力してください"
Range("P3:P4").Font.Name = "HG丸ゴシックM-PRO"
Range("P3:P4").Font.Size = 18
Range("P3:P4").EntireColumn.AutoFit
Range("P3").HorizontalAlignment = xlCenter
Range("P4").HorizontalAlignment = xlCenter
Range("G7").Value = "=ROUNDDOWN(60-(G4+(H4/60)),0)"
Range("G10").Value = "=ROUNDDOWN(60-(2*(G4+(H4/60))+(G5+(H5/60))),0)"
Range("G7").EntireColumn.AutoFit
End Sub
最後に保存しますが、保存の種類は「Excel マクロ有効ブック」にしてください。
## 2.4 ボタンの設定
すると、ポインターが「+」に変わります。シート中の適当なところをクリックすると、このような画面が出てきます。
赤枠で囲った箇所を選択してOKをクリックします。
ボタンを右クリックして「コントロールの書式設定」をクリックします。
プロパティタブでは、赤枠で囲った部分を選択します。そしてOKをクリックしてコントロールの書式設定を閉じます。
### 「全クリア」ボタンの作成
先程と同じ手順で別のボタンを作成します。まず、Sheet1.Clearを選択します。
それ以外は先程と同じ設定にします。
名前は「全クリア」にします。
### 「③計算」ボタンの作成
最後のボタンはSheet1.calcurationを選択します。
それ以外は、「①開始」ボタンと同じ設定にします。
名前は「③計算」にします。
以上で準備完了です。
実行
「③計算」ボタンをクリックするとタイムテーブルが自動作成されます。
「全クリア」ボタンをクリックすると全ての表示が消えます。
一度使ってみてください!よろしくお願いします!
2月15日追記
ボタンを作成せずにタイムテーブルの計算をする方法は以下の通りです。
「inputs」を選択し、実行をクリックすると、「①開始」ボタンをクリックして表示されるものと同じものが表示されます。
全ての項目に入力した後、また「マクロ」をクリックし、次に「calcration」を実行すると、タイムテーブルが表示されます。
「Clear」は全ての表示を消去するためのものです。