| 
    
     |  | お世話になります。昨日初めてUserFormにトライしてみましたがうまくいきません。 内容は、指示命令の順番と実際の画面表示の順番が逆転するとうい現象がおきたことです。
 
 『目的とこれまでの方法』 今は下記の(1)(3)をマクロ処理しています
 (1)スライドショーをしながら個々の写真のファイル名を取得
 (2)取得したファイル名の隣のセルに手作業で「削除」「A」「B」などを記入
 (3)(2)の情報により指定フォルダーへの移動、削除などを実施、ファイル整理する
 
 『やりたいこと』
 上記の(1)〜(3)を一括で行ないたい・・・今回の質問は(1)〜(2)について
 写真を見ながら次ぎのファイル操作への情報をコマンドボタンでシートへ入力したい。
 
 『問題点★とこれまでの検証』
 ・UserForm1 Showを無効にした下記コードの Sub スライドショー() は正常稼動します
 
 ・★UserFormを作成し(コマンドボタン3個だけ)、マクロ稼動すると
 「情報入力」→「UserForm表示」→「コマンドボタン押す」→「写真表示」→「UserForm表示」→以下省略
 という順番の画面表示になり、目的の「写真を見てから情報入力」が出来ません。
 
 ・UserForm1 Show にブレークポイントを設定して画面を確認すると
 「情報入力」→「写真表示」→「UserForm」→「コマンドボタン押す」→「写真表示」→省略
 という順番で目的の順番に合っています。
 
 なぜ、デパック処理と一括処理で画面表示の順番が変わるのかがわかりません。
 初めてのUserFormで、目的の流れにするにはどうしたらよいのか分りません。
 宜しくお願いします。
 またデパック処理で困ったのですが、UserFormのコードを確認しながらシート画面を確認しようとしたら、画面切り替えが出来ませんでした。
 これは正常なんでしょうか?UserFormのコードから抜け出すと大丈夫なんですが・・・。
 恥ずかしい内容ですが、まわりに経験者もなく、本にも書いていませんでした。
 以上、2点ご教授願います。
 
 Sub スライドショー()
 
 Dim FileName As String
 Dim i As Integer, myFile As String
 Dim intStr As String, strMsg As String, theVar As Integer
 Dim wid As Integer, takasa As Integer, Ratio As Double
 
 Sheets("データー").Select
 Columns("A:C").Clear
 Application.Goto reference:=Worksheets("表示板").Cells(1, 1), Scroll:=True
 
 strMsg = "フォルダー名を入力。"
 intStr = InputBox(strMsg)
 If intStr = "" Then: Exit Sub
 Sheets("データー").Range("A1").Value = intStr
 theVar = MsgBox("拡大しますか、原寸表示しますか?" & Chr(1) & Chr(13) & _
 "はい→拡大  いいえ→原寸", vbYesNo)
 
 Application.DisplayFullScreen = True
 
 i = 1
 
 FileName = Dir("C:\My Documents\仮保管写真\" & intStr & "\*.*")
 
 Do While FileName <> ""
 myFile = FileName
 
 Application.ScreenUpdating = False
 Worksheets("表示板").Activate
 
 If theVar = 6 Then
 With ActiveSheet.Pictures.Insert("C:\My Documents\仮保管写真\" & intStr & "\" & myFile)
 .Top = Range("A1").Top
 .Left = Range("A1").Left
 .ShapeRange.LockAspectRatio = msoTrue
 .Width = 680
 .Height = 550
 End With
 Else
 With ActiveSheet.Pictures.Insert("C:\My Documents\仮保管写真\" & intStr & "\" & myFile)
 .Top = Range("A1").Top
 .Left = Range("A1").Left
 .ShapeRange.LockAspectRatio = msoTrue
 ' .Width = 680
 ' .Height = 550
 End With
 End If
 
 UserForm1.Show
 
 Application.ScreenUpdating = True
 Sheets("データー").Cells(i + 1, 1).Value = i
 Sheets("データー").Cells(i + 1, 2).Value = FileName
 
 Worksheets("表示板").Activate
 Application.Wait (Now + TimeValue("00:00:03"))
 ActiveSheet.Pictures(1).Delete
 
 FileName = Dir()
 
 i = i + 1
 Loop
 
 MsgBox "終了しました"
 Application.DisplayFullScreen = False
 Sheets("目次").Select
 
 End Sub
 
 Private Sub UserForm_Initialize()
 
 With UserForm1
 CommandButton1.Caption = "A級"
 CommandButton2.Caption = "B級"
 CommandButton3.Caption = "×"
 End With
 
 With UserForm1
 .StartUpPosition = False
 .Top = 400
 .Left = 650
 End With
 End Sub
 
 Private Sub CommandButton1_Click()
 Dim myTag As String
 
 myTag = CommandButton1.Caption
 Sheets("データー").Select
 Range("C65536").End(xlUp).Offset(1, 0).Select
 Selection.Value = myTag
 UserForm1.Hide
 End Sub
 
 Private Sub CommandButton2 、3は省略
 
 |  |