UsedRange.Le comte de comptage de mal

Résumé: je vais prendre une ligne de données à partir d'une feuille et de le coller dans une autre, mais la feuille serait une utilisation quotidienne le genre de chose où de nouvelles données est entré juste en dessous de données anciennes.

Problème: Sur chaque nouvelle exécution, 7 est toujours ajouté à la UsedRange.Count. Par exemple: sur l'une d'exécuter le UsedRange.Count sera de 7; la prochaine fois que je passe par la fonction le comte sera 14.

Ce que je suis à la Recherche De: Pourquoi est-ce le cas et est-il un moyen pour aider à UsedRange être plus précis

-J'ai inclus l'ensemble de la Fonction pour les références de l'amour.

Function eftGrabber()

        Dim usedRows As Integer
        Dim i As Integer

        ChDir "\\..."       

        Workbooks.Open Filename:= _
        "\\...\eftGrabber.xlsm"

        usedRows = Sheets("EFT").UsedRange.Count

        Windows("Data").Activate

        Sheets("DataSheet").Range("A11").EntireRow.Copy

        Windows("eftGrabber").Activate

        Sheets("EFT").Range("A" & usedRows + 1).Select

        ActiveSheet.Paste

        i = usedRows

        Do                            'THIS LOOP DELETES BLANKS AFTER POSTING NEW LINES

            Range("A" & i).Select

            If Range("A" & i) = "" Then

                ActiveCell.EntireRow.Delete

            End If

              i = i - 1

        Loop Until i = 1

        Windows("eftGrabber").Activate

        ActiveWorkbook.Save

  Windows("eftGrabber").Close

End Function

Laissez-moi savoir si j'ai omis un détail important. Merci à l'avance!

  • Mike, vous devriez toujours éviter d'utiliser usedrange. Au lieu de trouver la dernière ligne et l'utiliser pour le collage. Voir ce lien pour trouver la dernière ligne. stackoverflow.com/questions/11169445/...
InformationsquelleAutor Mike Kellogg | 2012-08-09