如何在字典宏中添加步骤函数

时间:2014-11-18 09:39:26

标签: excel-vba duplicate-removal vba excel

我是VBA的新手,我一直在使用本网站提供的大帮助,创建一个宏来从一张纸上取一个数字列表(第14页),删除重复内容并粘贴到另一张纸上(表2)

我希望更进一步,而不是一个接一个地粘贴单元格我希望将列表粘贴在备用行中,即D10,D12,D14等。

我已尝试过本网站内的各种方法,但无济于事。我使用过不同类型的" Step"功能,但我正在努力将其纳入下面的编码。

非常感谢任何帮助!

以下是我目前的情况:

Sub RUN()

    Application.ScreenUpdating = False
    Dim lastRow As Long
    Dim i As Long
    Dim dictionary As Object
    Set dictionary = CreateObject("scripting.dictionary")

    Sheet14.Activate
    lastRow = Sheet14.Cells(Rows.Count, "F").End(xlUp).Row

    On Error Resume Next
    For i = 3 To lastRow
    If Len(Cells(i, "F")) <> 0 Then
        dictionary.Add Cells(i, "F").Value, 1
    End If
Next

    Sheet2.Range("d10").Resize(dictionary.Count).Value = _
    Application.Transpose(dictionary.keys)

    Application.ScreenUpdating = True
    MsgBox dictionary.Count & " RUN TEMPLATES."

End Sub

1 个答案:

答案 0 :(得分:0)

这是一种方法(BTW,我不会调用宏RUN):

Sub ListUniques()

    Dim lastRow               As Long
    Dim i                     As Long
    Dim dictionary            As Object
    Dim vKeys

    Application.ScreenUpdating = False

    Set dictionary = CreateObject("scripting.dictionary")

    With Sheet14

    lastRow = .Cells(.Rows.Count, "F").End(xlUp).Row

    For i = 3 To lastRow
        If Len(.Cells(i, "F")) <> 0 Then
            dictionary(.Cells(i, "F").Value) = 1
        End If
    Next
    End With

    vKeys = dictionary.keys
    For i = LBound(vKeys) To UBound(vKeys)
        Sheet2.Range("d10").Offset(2 * i).Value = vKeys(i)
    Next i
    Application.ScreenUpdating = True
    MsgBox dictionary.Count & " RUN TEMPLATES."

End Sub