用于添加新数据验证的按钮(在宏Excel中添加新的我的默认工作簿)

问题描述:

我想用VBA excel进行数据验证输入,其中包含许多验证规则。用于添加新数据验证的按钮(在宏Excel中添加新的我的默认工作簿)

我想“添加新的验证输入按钮”。如果我点击该按钮,它会自动创建一个新的工作簿。

这就是我昨晚的尝试:第一次,我在我的D:\文件夹中找到2个xlsm文件(文件中包含相同的文件)。

第一次进行验证输入的一个文件,其中包含“添加新的验证输入按钮”。另一个是xlsm文件,在输入包含“添加新验证输入按钮”的数据验证之前(该文件的名称是(原始工作簿)。如果我点击它,它会自动复制“原始工作簿”,关闭当前程序,并给我一个新的验证项目。

这里是我的代码,但没有奏效

Private Sub CommandButton4_Click() 

Dim xWb As Workbook 
Dim xWbpaste As Workbook 
Dim xWbopen As Workbook 
Dim wCur As Workbook 

On Error Resume Next 
filename = NewEntryWorkbook.Text 
Set wbCur = ActiveWorkbook 

Set xWbcopy = Workbooks.Copy("D:\my macro excel\original workbook") 
Set xWbpaste = Workbooks.Paste("D:\my macro excel\" & filename & ".xlsm") 
wbCur.close 
Set xWbopen = Workbooks.Open("D:\my macro excel\" & filename & ".xlsm") 
End Sub 
+0

“......它没有工作” - 什么/它怎么没有工作?你是否收到错误,是否运行,但没有按照你的期望执行,等等。 – BruceWayne

+0

我知道没有workbooks.copy和workbooks.paste的方法。但是,我不知道解决方案,@bruceWayne爵士。请帮我 – arifulromadhon

+0

请添加预期的结果,实际结果。简要的细节请。 – Chrips

微软有不同的编程语言为VBA编写的文档。此外,但请谨慎使用实例。他们并不总是使用最好的语法,但他们很好地概括了方法以及如何使用它们。要制作WB的副本,请参阅here。如果您只想创建新的WB,请参见here

如果您添加新的WB,请记住您将返回一个WB -Object。用SaveAs您可以确定路径和名称。

+0

可以使用VBA中的按钮在特定路径中复制非activeWB?我可以用VBA中的按钮打开我已经复制的非activeWB吗?这是我的问题,先生@UGP – arifulromadhon

+0

Ofc。有很多方法可以做到这一点。通过使用['FileCopy'](https://msdn.microsoft.com/de-de/library/2s1c774y(v = vs.90).aspx)(注意:在VBA中具有相同功能的VB示例)或通过打开它然后使用'SaveAs'。要打开'WB',请使用['Workbook.Open'](https://msdn.microsoft.com/VBA/Excel-VBA/articles/workbooks-open-method-excel) – UGP

+0

谢谢,先生。有用。我使用你的第二个选项。打开它并保存它。但是,有一个小问题。当我完成验证多个文档时,它们不能自动关闭。我可以关闭我已验证的所有文档,除了我目前的工作簿吗? @UGP – arifulromadhon