2017-08-10 7 views
-2

別のブックを使用する1つのブックでマクロを作成すると問題が発生します。vbaマクロの作成に関する問題

これは私が使用していますコードです:

Private Sub CommandButton21_Click() 
Set wb1 = Workbooks.Open(" 
    http://europort/it_division/ITAC/Portal/Documentations/Proba 1.xlsx" 
         ) 
With wb1 
    FinalRow = .Worksheets("Sheet1") 
       .Cells(.Worksheets("Sheet1").Rows.Count, 1) 
       .End(xlUp).Row 
    For i = 1 To FinalRow 
    If TextBox21.Text = .Worksheets("Sheet1").Cells(i, 1).Value Then 
     MsgBox .Worksheets("Sheet1").Cells(i, 2).Text 
    Next i 
End With 
wb1.Close 
End Sub 

をそれが正常に動作していますが、それは別のワークブックを開き、私は[OK]ボタンをクリックした場合にのみ、それはそのワークブックを閉じます。私はこのワークブックを開こうとせず、結果を見るだけで、全体のExcelブックを見ることはしません。どうやってやるの?助けてください。

+0

コードの先頭に 'Application.ScreenUpdating = False'を設定して、最後に' Application.ScreenUpdating = True'を設定しようとしましたか? – YowE3K

+0

あなたの質問は不明です。 'MsgBox'を使って作業するときは、アプリケーションを終了するまでアプリケーションを一時停止します。また、.Worksheets( "Sheet1")。セル(.Worksheets( "Sheet1").Rows.Count、1).End(xlUp).Row'は1行にするか、 '_'を使ってそれは複数行です。また、私はワークシートの変数を使用することをお勧めします。 – UGP

+0

@UGPその行は1行であったが、編集者の1人によって変更された... –

答えて

0

これは、あなたの質問に基づいて、あなたは後にしている何をすべき:

Private Sub CommandButton21_Click() 
Application.ScreenUpdating = False 
msg = "" 
Set wb1 = Workbooks.Open("http://europort/it_division/ITAC/Portal/Documentations/Proba 1.xlsx") 
With wb1 
    FinalRow = .Worksheets("Sheet1").Cells(.Worksheets("Sheet1").Rows.Count, 1).End(xlUp).Row 
    For i = 1 To FinalRow 
     If TextBox21.Text = .Worksheets("Sheet1").Cells(i, 1).Value Then 
     msg = msg & .Worksheets("Sheet1").Cells(i, 2).Text & vbCr 
    Next i 
End With 
wb1.Close 
Application.ScreenUpdating = True 
If msg <> "" Then MsgBox msg 
End Sub 

を全部を片付け、あなたがなどを宣言する必要がある必要がありますが、あなたのコードはこれも動作するはず動作するかどうか、それが今立っているよう。

関連する問題