根据范围创建工作表(忽略空单元格)

时间:2017-09-04 17:09:34

标签: excel vba excel-vba

我按下按钮后尝试创建以一系列值命名的新工作表,但我收到以下错误:"方法'范围'对象' _Worksheet失败"当我设置MyRange

我目前的表格是" V-Class GC"起始单元格是U2 这是我到目前为止所得到的:

Dim MyCell As Range, MyRange As Range

Set MyRange = Range(Sheets("V-Class GC").[u2], Sheets("V-Class GC").Cells(Rows.Count, "U").End(xlUp))

For Each MyCell In MyRange
    If Len(MyCell.Text) > 0 Then
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = MyCell.Value
    End If
Next MyCell

谢谢!

2 个答案:

答案 0 :(得分:0)

您应该使用Sheets类的方法.Range引用范围。

db.run

当您尝试了解引用范围时发生的情况时,请尝试选择它并在时间使用单个单元格,在您的情况下,您可以尝试使用范围选择单个单元格范围。[u2]你会很快发现错误,因为excel引发了错误。

答案 1 :(得分:0)

尝试

Dim Foo As Variant, FooRange As Range

Sheets("V-Class GC").Select
Set FooRange = Range("u2", Range("u2").End(xLDown))

For Each Foo In FooRange
    If Len(Foo.Value) > 0 Then
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Foo.Value
    End If
Next

您的问题很可能来自于如何定义要迭代的范围。