Le tri des données de Feuille de calcul par les valeurs de la colonne à l'aide d'Excel VBA
J'ai à côté de l'objet userform développé en vba, qui prend des informations d'une feuille de calcul pour l'affichage des info
Je veux commander toutes les infos aphabetically par un Segment, c'est le code:
Function llenarDatosTabla()
Dim vList As Variant
Dim ws As Worksheet: Set ws = Worksheets(BD_PRODXSIST)
ListBox1.Clear
With ws
If (IsEmpty(.Range("AA2").Value) = False) Then
Dim ultimoRenglon As Long: ultimoRenglon = devolverUltimoRenglonDeColumna("A1", BD_PRODXSIST)
vList = ws.Range("AA2:AA" & ultimoRenglon & ":AL2").Value
If IsArray(vList) Then
Me.ListBox1.List = vList
Else
Me.ListBox1.AddItem (vList)
End If
End If
Me.ListBox1.ListIndex = -1
End With
Set vList = Nothing
Set ws = Nothing
End Function
comment faire commandés par 'ANNONCE' (SEGMENTO) de la colonne???
OriginalL'auteur Jesus | 2014-12-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez trier votre Feuille de calcul Excel dans l'ordre croissant à l'aide de VBA instruction comme suit:
Remarque: dans la colonne de gamme
Columns("A:XFD")
au lieu deXFD
entrer dans la dernière colonne pertinente à votre cas, par exemple,Columns("A:DD")
.Espère que cela aidera.
Vous êtes les bienvenus! Bonne chance avec votre projet! Cordialement,
Hey, parfois, je reçois cette erreur: 1004 en temps d'exécution du tri de référence non valide
et maintenant je sais pourquoi, depuis que je suis à l'appel de cette fonction à partir d'autres de la feuille de calcul, je dois ajouter que "." avant de Gamme que dans les Colonnes, my bad
OriginalL'auteur Alexander Bell
Pour trier un tableau de données, l'utilisation Excel Noms en collaboration avec le CurrentRegion fonction. C'est moins risqué que de coder en dur les références de colonne et peut être fait en deux étapes simples.
La raison pour laquelle il est préférable de spécifier les colonnes est que si vous obtenez les colonnes de mal ou qu'ils changent plus tard, vous aurez brouiller vos données! Lorsque vous effectuez le tri, les cellules dans tout omis de colonne(s) restent là où ils sont, devenir partie de la mauvaise lignes. Et c'est exactement ce qui va se passer si vous ajoutez d'autres colonnes plus tard, à moins que vous n'oubliez pas de mettre à jour votre VBA.
Voici les deux étapes simples à l'aide de cette approche. Pour cet exemple, j'ai choisi une table de données avec quatre colonnes et quatre lignes:
Nous allons trier par COL3 décroissant. Les cellules dans les trois autres colonnes partagent des valeurs identiques, ce qui nous permet de facilement vérifier qu'ils restent tous avec les lignes correctes.
Étape 1: sélectionnez une cellule dans la table de données qui est peu probable d'être supprimé, comme l'en-tête d'une colonne que vous avez l'intention de rendre permanente, et de définir un Nom pour cette cellule. Vous pouvez définir le nom en sélectionnant la cellule et en tapant directement dans Excel Nom de la liste déroulante au-dessus de la feuille de calcul. Ici, j'ai utilisé le nom de RegionTag:
Tout de suite, CurrentRegion peut faire référence à l'ensemble des données de la table juste à partir de ce. Vous pouvez le voir en action si vous le code d'une ligne de VBA pour sélectionner la table:
C'est le résultat:
C'est juste pour l'illustration, montrant la puissance du Nom/CurrentRegion combinaison. Nous n'avons pas besoin de sélectionner la table afin de faire le tri.
Étape 2: définir un Nom pour la colonne que vous souhaitez trier par:
Assurez-vous que le Nom fait référence à l'ensemble de la colonne sélectionnée en cliquant sur l'en-tête de colonne, plutôt que de simplement une plage de cellules dans la colonne.
Que c'est! Avec ces deux Noms définis, nous pouvons trier les données de la table sans se préoccuper de ses lignes et de colonnes, même si de plus est ajouté plus tard:
Voici notre tableau de données triées à l'aide de la déclaration ci-dessus:
OriginalL'auteur Reg Edit