|
今日はサボりっぱなしだなぁ
という事で つづき
>Selection で指定になると、色んなトラップを仕掛ける必要があると思います。
の説明をば
例えば、(B10:H10のセルを選択して) なのですが、
Sub データ収集 ではTextBoxが6ヶ有るとしか想定していません。
でも、B10:H10のセルを選択してしまうと i が7まで増えちゃいます。
UserForm1会のControls組に属する 組員TextBox &その7 は UserForm1会から盃をもらっていないので 潜伏中の犯人r が困ってしまいます。
If Selection.Count <> 6 Then Exit Sub
上記の もしセレクトされたセルのカウントが 6 でなかったら ミッション終了
で多少の危険は回避できますが・・・。
私なら、
’Sheet1 のモジュール−−−−−−−−−−−−−−−−−−−−−−−
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Range
Dim i As Single
If Target.Column <> 1 Then Exit Sub
If Target.Row = 1 Then Exit Sub
Cancel = True
UserForm1.Show 0
i = 1
'For Each r In Target.Offset(0, 1).Range("A1:F1")
For Each r In Target.Offset(, 1).Resize(, 6) '*ちょっと修正しました。
UserForm1.Controls("TextBox" & i).Text = r.Value
i = i + 1
Next r
End Sub
’Sheet1 のモジュールに上記 BeforeRightClick(右クリックイベント)にしちゃって
CommandButton1を押す代わりに、データを収集したいセルのA列を右クリックするようにしちゃうかな。
Ps. えらそうな事書いちゃっていますけど私も初級者 自分自身の向上の為に突っ込みもお待ちしています。
|
|