2017-08-15 137 views
0

我想用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

回答

0

微軟有不同的編程語言爲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