|
▼ichinose さん:
>▼てつじ さん:
>こんにちは。
>
>こんな方法もあります。
>一行の数が(ここで言う43)変更になっても
>なるべく変更が少ないようにしてみました。
>例は、コッマンドボタンのクリックイベントでのコードです。
>
>
>Private Sub CommandButton1_Click()
> Const cnt = 43 '1行、または、1列のテキストボックス数
> Const txtst = 5 'テキストボックスの開始インデックス
> Const txted = 176 'テキストボックスの終了インデックス
> Const strw = 4 'シートの移行開始行
> Const stcol = 4 'シートの移行開始列
> Dim col As Long
> Dim rw As Long
> Dim idx As Long
> For idx = txtst To txted
> col = (idx - txtst + 1) Mod cnt
> rw = (idx - txtst + 1) \ cnt
If col>0 Then
> Controls("textbox" & idx).Value = Worksheets(1).Cells(strw + rw, stcol + col - 1).Value
> Else
> With Worksheets(1)
> Controls("textbox" & idx).Value = Application.Sum(.Range(.Cells(strw + rw - 1, stcol), _
> .Cells(strw + rw - 1, stcol + cnt - 2)))
> End With
> End If
> Next idx
>End Sub
>
>
>試してみてください。
|
|