循环范围选择下拉菜单

时间:2017-05-08 19:48:30

标签: excel vba excel-vba

我想为以下步骤创建一个宏,但我是宏的新手,可以使用你的帮助。

我有一个10行的列表,从名为“TABLE”的工作表中的单元格G11开始,每个行都有一个验证下拉列表(TRUE或FALSE)。以下是我想做的事。

  1. 在宏开始之前,我希望所有这些都设置为FALSE。

  2. 然后我希望它从单元格G11开始并从下拉列表中选择TRUE。整个工作簿都是基于此,因此一旦设置为TRUE将进行一些计算,然后我想从“SECURITIZATION”页面获取结果并将其粘贴到名为“FINAL”的工作表中。

  3. 在此之后我想再次转到“TABLE”表,将单元格G11从TRUE切换为FALSE,然后转到单元格G12并从下拉列表中选择TRUE并粘贴“SECURITIZATION”的结果页面下面是G11的结果。

  4. 我经历了这个宏,但它从同一个单元格中的下拉列表中选择而不是列表。 VBA Loop Through drop down, copy range

    这是我到目前为止所拥有的

    (To\(SObj[\s\S]+DCh[\s\S]+)To\(SObj

1 个答案:

答案 0 :(得分:0)

给它一个机会。它基于描述。它需要编辑您的特定副本|粘贴需求,您可以在笔记中看到。

Option Explicit

Sub SpitValues()

Dim wsTable As Worksheet
Set wsTable = Worksheets("Table")

Dim wsSecuritization As Worksheet
Set wsSecuritization = Worksheets("Securitization")

Dim wsFinal As Worksheet
Set wsFinal = Worksheets("Final")

With wsTable

    .Range("G11").Resize(10, 1).Value = "FALSE"

    Dim rCell As Range
    For Each rCell In .Range("G11").Resize(10, 1)

        rCell.Value = "TRUE"

        'DoEvents
         Application.Wait Now + TimeValue("0:00:10") 'wait for 10 seconds.

        'adjust this to whatever is need for copy | paste operation
        'I didn't see exact requirements for this so I just copy A1 each time below the last used row in column A
        wsFinal.Range("A" & Rows.Count).End(xlUp).Offset(1).Value = wsSecuritization.Range("A1").Value

        rCell.Value = "FALSE"

    Next

End With


End Sub