|
▼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
|
|