Excel VBA遍历数据验证选项并将其另存为新工作簿

时间:2019-01-08 21:36:19

标签: excel vba validation

我有一本包含多张纸的工作簿。对于这个项目,我专注于一张称为“报告3”的表格。在此工作表上,有一个数据验证单元格(“ N12”),该单元格由另一工作表上的值填充。

我的目标是遍历数据验证单元格的所有可能值,并将每个值另存为新工作簿。如果可能的话,我想将其另存为utf-16 txt文件(但是我的代码还没到此为止)。

这是我到目前为止的代码。它有效,但仅适用于数据验证的第一个值。我的直觉是它在ActiveWorkbook上绊倒了。

感谢您的见解和帮助。

Sub loopthroughvalidationlist()

Dim inputRange As Range
Dim c As Range
Set inputRange = Evaluate(Range("N12").Validation.Formula1)

For Each c In inputRange
    Dim s As String
    s = Cells(12, "N").Value & "postran"
    ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "/" & s
Next c

End Sub 

1 个答案:

答案 0 :(得分:0)

尝试一下:

Sub loopthroughvalidationlist()

Dim inputRange As Range
Dim c As Range
Set inputRange = Evaluate(Range("N12").Validation.Formula1)

For Each c In inputRange
    Cells(12, "N").Value = c.Value
    Dim s As String
    s = Cells(12, "N").Value & "postran"
    ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "/" & s
Next c

End Sub