从范围值添加唯一表

时间:2018-02-16 17:32:43

标签: vba excel-vba for-loop if-statement worksheet-function

我正在尝试编写贯穿G列的代码,并为每个唯一值添加一个新工作表,而不创建重复项;然而,从我所拥有的,所以它创建重复

Public Sub AddSheet()
    Worksheets("Dataset").Select
    Range("A1", Range("A1").End(xlToRight)).Name = "Title"
    Range("A2", Range("G1").End(xlDown)).Name = "Data"
    Range("H2", Range("H1").End(xlDown)).Name = "Physician"
    Dim i As Integer, lastrow As Integer
    lastrow = Worksheets("Dataset").Cells(Worksheets("Dataset").Rows.Count, "H").End(xlUp).Row
    With Range("Physician")
        For i = 1 To lastrow
            If i.Value = Worksheetexists = False Then
                Sheet.Add
                ActiveSheet.Name = Worksheets("Dataset").Cells(i, 1).Value
            Else
                GoTo NextStep:
            End If
        Next
    End With

End Sub

2 个答案:

答案 0 :(得分:0)

这样的事情将迭代并为A列中的每个唯一值创建一个新工作表。

setContentView()

答案 1 :(得分:0)

这样的事情应该有效并且更安全一些,因为您可能需要检查边缘情况,即您要添加已经的工作表存在。我首先使用字典来跟踪唯一的工作表名称,然后根据H列中的唯一值添加到该字典中。

 updatePrice() {
        let allInventoryItems = [];
        Price.find({})
          .then(items => {
            allInventoryItems.push(items[0].items);
        })

        return new Promise((resolve, reject) => {
            Inventory.find({
            }).then(items => {
                // Update items[0].price according to allInventory items 
                   price
            });
        });
    }