使用下拉列表中的值保存Excel工作簿(使用VBA代码)

时间:2017-09-18 23:28:40

标签: excel vba excel-vba

我是宏的新手,但有一些基本的想法,它是如何工作的,或者能够编写小的VBA代码。

  
    

是否可以在VBA代码中添加一些预定义值,这些值可以用作下拉值,以后可以使用,根据谷歌有两种类型的响应,例如“是的,我们可以使用它”和其他人说“不可能”。

  

我试图创建一份报告。我必须用一些值来保存它,比如

1。预定义值,如(“Analysis_Report”将是常量值)
2. DropDown值(“Cluster1”,“Cluster2”,“Other”) - 无法得到它 3.日期和时间戳
4. InputBox(“UserName”)

但是我无法将下拉列表(尝试过的ComboBox)设置为我的宏。如果有人可以帮我纠正我的代码,那将非常感激。 :)

我使用的Macro的一部分在下面给出了参考

Sub ImporttoNew_WorkBook_and_Close ()  
Dim DT As String  
Dim wbNam As String  
Dim Path  
Dim Cluster  
Dim UserName  

Workbooks.Add  
wbName = "Analysis_Report"

DT = Format(CStr(Now), "yyyy_mm_dd_hh_mm_ss") 

Path = InputBox("Enter Path ", "Enter value") & "\"  
UserName = "_" & InputBox("Type your Name", "Enter value")   
Cluster = ComboBox1.List = Array("Cluster1", "Cluster2", "Other") **'Not Working**  

ActiveWorkbook.SaveAs Filename:=Path & Cluster & wbName & DT & UserName   
ActiveWorkbook.close   
MsgBox "Document saved"   

End Sub  

先谢谢。 :)

1 个答案:

答案 0 :(得分:1)

组合框的问题在以下一行:

Cluster = ComboBox1.List = Array("Cluster1", "Cluster2", "Other") **'Not Working** 

您必须先将群集设置为组合框,然后分配值:

Set Cluster = Tabelle1.ComboBox1  'change Tabelle1 to the Codename of the worksheet with your combobox1 in it
Cluster.List = Array("Cluster1", "Cluster2", "Other")