ComboBox值确定如何处理关联的工作表

时间:2014-09-24 16:05:18

标签: excel-vba combobox vba excel

我之前使用CheckBox true / false完成了一些工作(编码不好,但是嘿,它运行),如下所示:

If CheckBox1.Value = False Then
        wb.sheets("PQC 1001").Delete
    Else: CheckBox1.Value = True
    End If

此代码有效;我将25个CheckBox中的每一个分配给25张中的每一张。我试图做的改进是从CheckBoxes转移到ComboBoxes。

使用ComboBoxes,我应该能够允许人们在0,1,2或3之间进行选择,以指示他们想要的每张纸的数量。我初始化userform来执行此操作:

ComboBox1.List = Array("0", "1", "2", "3")

我遇到的问题是将每个值分配给流程。到目前为止,我有:

If ComboBox1.Value = "0" Then
    wb.sheets("PQC 1001").Delete
    Else: ComboBox1.Value = "1"

我无法做出"否则"多个条目,不知道我还能做些什么来使这项工作。我的想法/计划是列出(这会给出关于"结束的错误"):

Dim wb As Workbook

If ComboBox1.Value = "0" Then
wb.sheets("PQC 1001").Delete

If ComboBox1.Value = "2" Then
wb.sheets("PQC 1001").Copy ThisWorkbook.sheets(sheets.Count)

If ComboBox1.Value = "3" Then
wb.sheets("PQC 1001").Copy ThisWorkbook.sheets(sheets.Count)
wb.sheets("PQC 1001").Copy ThisWorkbook.sheets(sheets.Count)

Else: ComboBox1.Value = "1"

End If

对于我如何能够完成这项工作的任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:2)

显然我并不了解ElseIf。

我的工作代码如下:

If ComboBox1.Value = "0" Then
    sheets("PQC 1001").Delete

ElseIf ComboBox1.Value = "2" Then
    sheets("PQC 1001").Copy After:=sheets(2)

ElseIf ComboBox1.Value = "3" Then
    sheets("QC 1001").Copy After:=sheets(2)
    sheets("QC 1001").Copy After:=sheets(2)

Else: ComboBox1.Value = "1"

End If

很抱歉发布了我应该能够找到的内容。希望如果他们有类似的问题,这会有所帮助!