创建vba宏的问题

时间:2017-08-10 08:36:02

标签: excel-vba vba excel

当我在一个使用另一个工作簿的工作簿中创建宏时,我遇到了问题。

这是我正在使用的代码:

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

它工作正常,但它打开另一个工作簿,只有当我单击“确定”按钮时才会关闭该工作簿。我不想打开这个工作簿,只是为了查看结果,而不是看整个excel工作簿。我怎样才能做到这一点?请帮忙。

1 个答案:

答案 0 :(得分: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

整件事情需要整理,你应该申报等等,但是现在如果你的代码有效,这也应该有效。