滝の音

滝の音

名こそ流れてなお聞こえけれ

筋トレ。5-3-1プログラムについて。メニュー自動作成プログラミングコード付き。

  • 5-3-1プログラムとは?

全16回からなるプログラムです。

 

  1. max重量の70% 5セット5レップ
  2. max重量の75% 5セット3レップ
  3. max重量の80% 5セット1レップ
  4. max重量の60% 2セット8レップ

以上4回が1セクション。

次のセクションは1,2,3を+5%にして、4はそのまま。

  1. max重量の75% 5セット5レップ
  2. max重量の80% 5セット3レップ
  3. max重量の85% 5セット1レップ
  4. max重量の60% 2セット8レップ

のように。

これをトータル4セクションで全16回です。

 

 

  • メニュー自動作成プログラミングコード

VBAでメニュー自動作成プログラミングを書きました。

ぜひぜひコピペして使ってください。

ほかのプログラムを書くときに備えて定義が多めになっていますが、処理速度は問題ないと思います。。

 

120kgの70%は84kgですが。

たいていのトレーニング環境では扱える重量は2.5kg刻みかなと思います。

そうすると実際は85kgで行いますよね。

 

それを考慮して。

各重量は2.5kg刻みに近似処理しています。

84kg→85kg

83kg→82.5kg

というように。

 

 

Sub プログラム531_16()

 Dim tytle As Range
 Dim max_weight As Range
 Dim hiduke As Range
 Dim omosa As Range
 Dim set_number As Range
 Dim rep_number As Range
 
 Dim x As Single
 Dim y As Single
 
 
 Cells.ClearContents
 
 Set tytle = Cells(2, 2)
 Set max_weight = tytle.Offset(0, 2)
 Set hiduke = tytle.Offset(2, 0)
 Set omosa = tytle.Offset(2, 1)
 Set set_number = tytle.Offset(2, 2)
 Set rep_number = tytle.Offset(2, 3)
 
 
 
 tytle = "プログラム531"
 
 'MAX重量の設定
 m = InputBox("MAX重量を半角数字で入力。下1ケタまで。")
 max_weight = "max " & m & "kg"

 '日数設定
 hiduke = "day"
 For i = 1 To 16
    hiduke.Offset(i, 0) = "day" & i
 Next
 
 '重量設定
 omosa = "重量(kg)"
 For i = 0 To 3
    p = 0.05 * i
    omosa.Offset(4 * i + 1, 0) = m * (0.7 + p)
    omosa.Offset(4 * i + 2, 0) = m * (0.75 + p)
    omosa.Offset(4 * i + 3, 0) = m * (0.8 + p)
    omosa.Offset(4 * i + 4, 0) = m * 0.6
 Next
 
 '重量の調整
 For i = 1 To 16
    x = omosa.Offset(i, 0) * 10
    y = x - Int(x / 25) * 25
   
    If y > 12.5 Then
        x = x + (25 - y)
    Else
        x = x - y
    End If
   
    omosa.Offset(i, 0) = x / 10
 Next
   

 
 'set数とrep数の設定
 set_number = "set数"
 rep_number = "rep数"
 
 For i = 0 To 3
    set_number.Offset(4 * i + 1, 0) = 5
    rep_number.Offset(4 * i + 1, 0) = 5
   
    set_number.Offset(4 * i + 2, 0) = 5
    rep_number.Offset(4 * i + 2, 0) = 3
   
    set_number.Offset(4 * i + 3, 0) = 5
    rep_number.Offset(4 * i + 3, 0) = 1
   
    set_number.Offset(4 * i + 4, 0) = 2
    rep_number.Offset(4 * i + 4, 0) = 8
   
 Next
End Sub

 

結果はこんな感じになります。

f:id:nozomi-hayashi:20180108094405p:plain

プログラミングに問題があればぜひコメントしてください。

できる限り対処しまーす。