2016-11-23 99 views
0

我還是新VBA單元格數值打開的文檔,所以我找提醒來完成以下任務: 我有一個細胞A1和兩個Checkboxes (Serverbox1 & Localbox2)VBA:基於與多個條件

A1是下拉菜單中的值,如蘋果1,香蕉1等...代表Excel文件名。 Excel應打開拾取的文件並通過單擊「導出」按鈕導出單元格或範圍,例如A2WB1WB2

Private Sub exportData_Click()

Dim WB1 as Workbook

Dim WB2 as Workbook

Server="C:\Server\Apple1.xls"

Local="C:\Local\Apple1.xls"

Set WS1=ThisWorkBook

Set WB1=ActiveWorkbook

WS2=WB2.Sheets(1)

Set WB2=Workbooks.Open(Server OR Local) 不知怎的,需要改變自動。

這樣Set WB2=Workbooks.Open(Server)僅適用 如果A1 = Apple1 & Serverbox.value = true & Localbox2.value= false

而且Set WB2=Workbooks.Open(Local)僅適用If A1 = Apple1 & Serverbox.value = false & Localbox2.value= true

一旦文件被打開,將繼續根據上面的輸入數據複製到Apple1.xlsBanana1.xls

ws2.range("A2")=ws1.range("A2")

我不需要擔心自動保存任何內容,這將是一個手動過程(首選)。 我感謝任何幫助!

+0

文件位置是互斥的;單選按鈕或下拉菜單比複選框更好。 – dev1998

回答

1

以下是您可以使用的一些想法。你需要在幾個地方更新你的代碼。

Server="C:\Server\" & A1 & ".xls" 'Get the filename from Cell A1 

Local="C:\Local\" & A1 & ".xls" 'Get the filename from Cell A1 


If (Serverbox.value = true & Localbox2.value= false) Then 
    WB2=Workbooks.Open(Server) 
End If 

If (Serverbox.value = false & Localbox2.value= true) Then 
    WB2=Workbooks.Open(Local) 
End If 
+0

謝謝,這實際上幫了我很大的忙,並開啓了我對這個問題的另一種解決方法。 – Alec

+0

優秀。這基本上是我想要做的。 – dev1998