De retour d'une gamme de A1 pour le dernier vrai a utilisé des cellules de
Je voudrais sélectionner toutes les lignes et les colonnes dans une feuille de calcul. La macro doit être dynamique, comme le nombre de colonnes et de lignes ont tendance à varier à chaque fois que la macro. Il doit également être en mesure de rendre compte pour les lignes et colonnes vides.
Ce sous-programme effectue le cadre du processus:
Sub FindLastCell()
Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Select
End Sub
Il trouve et sélectionne la dernière cellule dans une feuille de calcul. Maintenant que j'ai trouvé à la dernière cellule de la feuille de calcul, comment puis-je sélectionner la cellule A1 à la LastCell que d'une gamme?
OriginalL'auteur AME | 2011-11-27
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de faire ces mods pour le code
Select
avecFind
que cela va donner une erreur si la recherche ne retourne rien. Au lieu de test que l'objet de la plageIs Not Nothing
Find
pouvez effectuer une recherche par ligne et par colonne. Vous devez déterminer les deux dernière rangée et de colonne pour déterminer le vrai dernier a utilisé des cellules deRange
pour définir une plage à partir de la première cellule (A1) à votre cellulaire déterminé avec les deuxFind
plagesPls voir le code ci-dessous
Si le
Find
obtient une valeur, alors il fait une gammerng3
de A1 à la dernière cellule identifiée par les deuxFind
s.D'accord, c'est une jolie kewl kewl pour exécuter la fonction range. Je regarde l'utilisation d'une procédure et l'utilisation de l'itération sur la récursivité si seulement la différence.
bien expliqué:)
OriginalL'auteur
Sélection de A1 à la dernière cellule utilisée (y compris les espaces entre les deux) dans la Colonne A est aussi simple que cela:
Pour sélectionner A1 à la dernière cellule utilisée dans l'ensemble de la feuille (peu importe si c'est utilisé dans la colonne A ou pas):
ActiveSheet.UsedRange
. Mais je suis d'accord c'est plus courte que la trouvaille que j'ai utilisé qui j'ai adapté à partir d'un plus besoin spécifique. cheers Dave.+1 pour la réponse efficace.
Merci pour l'ajout de la note sur l'actualisation des usedrange! C'est une chose importante que je devrais l'ai mentionné.
Quel est le problème avec mon ci-dessous une sélection? MyRange = Range(myfile.Sheets("Résumé").Range("A5:A") & myfile.Sheets("Résumé").Range("A" & les Lignes.Le comte).End(xlUp).Ligne) - 2)
j'ai testé la deuxième ligne de code à l'aide de
xlCellTypeLastCell
et il ne sélectionne la colonne A.OriginalL'auteur
J'ai trouvé comment modifier le code pour sélectionner une plage commençant à une cellule, et se terminant à la dernière cellule. Sur la ligne 8, le changement de l'a1 à la cellule que vous souhaitez démarrer. Dans mon cas, j'ai choisi j28.
code complet:
OriginalL'auteur
@brettdj a souligné l'utilisation de
ActiveSheet.UsedRange
pour effacer le courant utilisé de la gamme. Je voudrais utiliser le simple code ci-dessous.OriginalL'auteur