Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16487 / 76733 ←次へ | 前へ→

【65711】Re:組込みダイアログにチェックBoxを追加したい
質問  みーちゃんキャット  - 10/6/23(水) 13:35 -

引用なし
パスワード
   Jakaさん、neptuneさん

お返事大変遅くなり申し訳ありません。ご回答ありがとうございました。
色々四苦八苦しながら、読み解いていました。おかけで少しは理解できた気がします。

Jakaさん
追加で質問です。

>     引数 = 引数 & "CheckBox" & i & " "
           最初からブランクなしでは駄目ですか?
           後から-1してありますが、どういう理由からでしょうか?

> Application.OnTime Now(), "'マクロ名 " & """" & 引数 & """" & "'"
           このOnTimeメソッドがないと次にファイルを立ち上げたとき、Checkが消えて
           しまうのは分かりました。
           ですが、このコードでどうしてファイルを再立ち上げした時に、CheckBox1.Value値を
           どう記憶して、どう評価しているのかが理解できませんでした。
           QueryCloseとOnTimeの使い方に関して、もう少し詳しくご教授いただけないでしょうか?
           調べても理解できるものがなかったので、分かりやすい
           リンクなどもご紹介頂けますでしょうか?

Excel Ver.2003Sp3 です。
それとCheckboxの数は1個にしてます。よろしくお願いします。  

>▼Jaka さん:
>
>フォームモジュール
>
>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
> Dim 引数 As String
  Dim i As Integer

> If CloseMode = vbFormCode Then '閉じるボタンの時は状態未保存。
>   Exit Sub
> End If
> For i = 1 To 1
>   If Me.Controls("CheckBox" & i).Value = True Then
>     引数 = 引数 & "CheckBox" & i & " "
>   End If
> Next
>
> If Len(引数) = 0 Then Exit Sub
> 引数 = Mid(引数, 1, Len(引数) - 1)
> Application.OnTime Now(), "'マクロ名 " & """" & 引数 & """" & "'"
>End Sub

Private Sub commandbutton1_click()
  
  Unload UserForm1
  macro2
    
End Sub
>
>
>標準モジュール
>
>Sub マクロ名(ContlSt As String)
>   Dim myCtl As Control
>   For Each myCtl In ThisWorkbook.VBProject.VBComponents.Item("UserForm1").Designer.Controls
> 
>     If TypeName(myCtl) = "CheckBox" Then
>      
>      If InStr(1, ContlSt, myCtl.Name) > 0 Then
>        myCtl.Value = True
>      Else
>        myCtl.Value = False
>      End If
>     End If
>   Next
>End Sub

Sub Macro1()

Dim mymsg As String
   
       If ActiveSheet.ProtectContents = False Then GoTo 1000:
        mymsg = MsgBox("シートは保護されています。" _
      , vbOKOnly )  
    Exit Sub

1000:
    If UserForm1.Controls("CheckBox1").Value = True Then GoTo 2000:
      UserForm1.Show
    Exit Sub
2000:
   macro2

End Sub

Sub macro2()
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
    Scenarios:=True
End Sub

4 hits

【65609】組込みダイアログにチェックBoxを追加したい みーちゃんキャット 10/6/14(月) 5:25 質問
【65612】Re:組込みダイアログにチェックBoxを追加し... neptune 10/6/14(月) 13:46 回答
【65615】Re:組込みダイアログにチェックBoxを追加し... みーちゃんキャット 10/6/14(月) 17:13 質問
【65616】Re:組込みダイアログにチェックBoxを追加し... neptune 10/6/14(月) 18:18 発言
【65617】Re:組込みダイアログにチェックBoxを追加し... みーちゃんキャット 10/6/15(火) 4:52 質問
【65618】Re:組込みダイアログにチェックBoxを追加し... neptune 10/6/15(火) 13:47 回答
【65619】Re:組込みダイアログにチェックBoxを追加し... Jaka 10/6/15(火) 16:11 発言
【65620】追加 Jaka 10/6/15(火) 16:19 発言
【65628】修正 Jaka 10/6/16(水) 9:51 発言
【65711】Re:組込みダイアログにチェックBoxを追加し... みーちゃんキャット 10/6/23(水) 13:35 質問
【65714】Re:組込みダイアログにチェックBoxを追加し... Jaka 10/6/23(水) 14:33 発言
【65723】Re:組込みダイアログにチェックBoxを追加し... みーちゃんキャット 10/6/24(木) 2:39 質問
【65726】Re:組込みダイアログにチェックBoxを追加し... Jaka 10/6/24(木) 9:22 発言
【65734】Re:組込みダイアログにチェックBoxを追加し... みーちゃんキャット 10/6/24(木) 11:34 お礼
【65823】ひたすら忘れていたこと。 Jaka 10/6/29(火) 16:30 発言

16487 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free