|
ichinose さん
こんばんは
なんとかできました。
ありがとうございます。
また宜しくお願いします
>▼ぴ〜こ さん:
>うーん、まだはっきり分かっていませんが・・・・。
>私の想像がかなり入った例です。
>まず、シート1のシートモジュールでは、
>'=====================================================
>Private Sub Worksheet_Activate()
> With UserForm1
> If .Visible = False Then .Show vbModeless
> End With
>End Sub
>'==============================================================
>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> With UserForm1
> If .Visible = False Then .Show vbModeless
> End With
>End Sub
>↑このコードでシート1がアクティブになったり、セルを選択したりした動作で
>フォームが表示されます。
>
>
>次にシート2では、
>'===============================================================
>Private Sub Worksheet_Activate()
> Dim rng As Range
> Set rng = Selection
> If TypeName(rng) = "Range" Then
> Call rng_chk_and_form_show(rng)
> End If
>
>End Sub
>
>'===========================================================
>Private Sub Worksheet_Deactivate()
> UserForm1.Hide
>End Sub
>'===========================================================
>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> Call rng_chk_and_form_show(Target)
>End Sub
>Sub rng_chk_and_form_show(rng As Range)
> If rng.Column = 1 And rng.Columns.Count = 1 Then
> UserForm1.Show vbModeless
> Else
> UserForm1.Hide
> End If
>End Sub
>↑これらのコードでA列を選択したときのみフォームが表示されます。
>
>最後にユーザーフォームのモジュールに今まで私が投稿したコードに追加として、
>
>'================================================================
>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
> UserForm1.Hide
> Cancel = True
>End Sub
>
>↑これで、シート1で選択したコンボボックスの内容が保持されます。
>
>コマンドボタンのクリックで動作する仕様は変えていません。
>
>こんな仕様では?
|
|