| 
    
     |  | ▼Statis さん: >こんにちは
 >
 >>コードを解読してなんとなく意味はわかったのですが、ch=trueとCh = False: >Set R = .Range("D4:AS4")のChの意味としてどう考えれば良いのかわかりません。
 >>教えて頂ければ大変助かります。
 >
 >「Ch」の変数はフラグです。
 >Case の何処を通過したかを確認しています。
 >47,90,133,176を通過したときは合計をテキストボックスに表示させています。
 >なのでこのときは「Ch」の値を「False」にしています。(以外はTrueです)
 >あとはIf文で区分し合計値か単独セルの値かをテキストボックス表示させています。
 >
 >変数「R」はRangeにて宣言しています。
 >そしてSetステートメントで変数「R」にセル範囲をセットしてます。
 >なのでSet R = .Range("D4:AS4")はセルD4からセルAS4までの範囲を
 >セットしている事になります。
 >Application.Sum(R) はApplication.Sum(.Range("D4:AS4"))と同じことです。
 
 ありがとうございました。
 逆に表示させた値をシートに移す場合は、下記コードになるのかと思いますが、
 この中で、47,90,133,176の値は無視してそれ以外をシートへ移動させたいのですが
 下記コードのcase47,90,133,176は必要ないのですか?もし記入するべきだとしたら
 どのように記入するべきですか?
 
 With Worksheets(Mys)
 For i = 5 To 176
 Ch = True
 Select Case i
 Case 5 To 46
 Ro = 4: Co = 1
 Case 48 To 89
 Ro = 5: Co = 44
 Case 91 To 132
 Ro = 6: Co = 87
 Case 134 To 175
 Ro = 7: Co = 130
 Case 47
 
 Case 90
 
 Case 133
 
 Case 176
 
 End Select
 If Ch Then
 Cells(Ro, i - Co).Value = Me.Controls("TextBox" & i).Value
 
 End If
 Next i
 End With
 
 |  |