Excel VBA - 无法关闭使用Workbook.Add创建的新工作簿

时间:2016-04-27 10:14:10

标签: vba excel-vba excel

我有以下代码创建一个新工作簿并用一些数据填充它。

Dim wb as Workbook
Set wb = Workbooks.Add
wb.Range("A1") = "Dummy Text" 'Some code that populates data
wb.Activate 'wb.Activate or ThisWorkbook.Activate has no effect

新工作簿打开正常。我能够最小化它,使用菜单等,但无法单击关闭按钮。

如果我回到具有宏的原始工作簿并返回到新工作簿,我可以关闭。

我如何克服这个问题?不幸的是出于想法。

我的desidred用例

第1步:用户点击按钮 - >打开一个带有数据的新工作簿

步骤2:用户读取新工作簿中的信息并决定保存/关闭

但新工作簿中的关闭按钮无法工作,直到用户返回到原始工作簿并再次进入新工作簿。

4 个答案:

答案 0 :(得分:0)

我认为你需要添加这一行:

Workbooks("source").Close

如果要关闭当前工作簿,请尝试以下操作:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If ActiveCell.Value = "CLOSE" Then
        ThisWorkbook.Saved = True
        ThisWorkbook.Close
    End If
End Sub

答案 1 :(得分:0)

Sub Button1_Click()
Dim wb As Workbook
Set wb = Workbooks.Add
wb.Sheets("Sheet1").Range("A1") = "Dummy Text" 'Some code that populates data
wb.Activate 'wb.Activate or ThisWorkbook.Activate has no effect
End Sub

我的excel运行正常。我点击关闭按钮,它询问我是否要保存。

答案 2 :(得分:0)

代码

之后
Dim wb as Workbook
Set wb = Workbooks.Add
wb.Range("A1") = "Dummy Text"

插入

set wb = nothing

这将释放您的新工作簿,您可以使用" X"在右上角。

P.S。:对不起我的英文

答案 3 :(得分:0)

显示用户表单时,请确保使用“ .Show 0”。