Mon Excel contient trois colonnes de données

王林
Libérer: 2024-01-23 09:06:07
avant
743 Les gens l'ont consulté

Mon Excel contient trois colonnes de données

J'ai un Excel avec trois colonnes de données. Je souhaite implémenter la fonction de tri via VB

Sous Tri1()

ActiveSheet.Sort.SortFields.Clear

ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A" & Range("A1").CurrentRegion.Rows.Count) _

, SortOn :=xlSortOnValues, Order :=xlAscending, DataOption :=xlSortNormal

ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B" & Range("A1").CurrentRegion.Rows.Count) _

, SortOn :=xlSortOnValues, Order :=xlAscending, DataOption :=xlSortNormal

Avec ActiveSheet.Sort

.SetRange Range("A1:C" & Range("A1").CurrentRegion.Rows.Count)

.En-tête = xlOui

.MatchCase = Faux

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Postuler

Fin avec

Fin du sous-marin

Problème de tri des tableaux VB

Si vous entrez un total de 12 nombres de 0 à 11 dans la colonne A du tableau Excel, entrez 12 nombres aléatoires en conséquence dans la colonne B, puis triez par colonne B, les nombres de la colonne A seront disposés de manière aléatoire

.

La même idée est utilisée ici, mais le tableau à deux dimensions est remplacé par un tableau à deux dimensions. Le code est le suivant :

Dim Matrix (0 à 11, 0 à 1) comme simple

Dim i comme entier, j comme entier

Dim sngTemp en tant que célibataire

Randomiser

'Initialisez le tableau de sorte que le premier numéro de chaque "ligne" soit le numéro de ligne et que le deuxième numéro soit un nombre de taille aléatoire

Pour i = 0 à 11

Matrice(i, 0) = i

Matrice(i, 1) = Rnd(100)

Suivant

Texte1.Texte = ""

 Comme le tableau est petit, le tri à bulles est utilisé ici pour filtrer le Nième plus grand nombre et l'afficher dans Text1

Pour i = 0 à 11

Pour j = i + 1 à 11

Si Matrice(j, 1) > Matrice(i, 1) Alors

sngTemp = Matrice(i, 1)

Matrice(i, 1) = Matrice(j, 1)

Matrice(j, 1) = sngTemp

sngTemp = Matrice(i, 0)

Matrice(i, 0) = Matrice(j, 0)

Matrice(j, 0) = sngTemp

Fin si

Suivant

Text1.Text = Text1.Text & vbCrLf & Matrix(i, 0)

Suivant

Problème de tri du langage macro EXCEL VBA avec les images

Question 1

Sous-CommandButton1_Click() privé

Dim i, j As Long

Feuilles("feuille2").Cells.ClearContents

Feuilles("feuille1").Cells.Copie

Feuilles("feuille2").Sélectionner

Feuilles("feuille2").Range("A1").Sélectionnez

ActiveSheet.Paste

i = 3

Do While Sheets("sheet2").Range("A" & i).Value ""

Pour j = 2 Pour i - 1

Si Sheets("sheet2").Range("A" & i).Value > Sheets("sheet2").Range("A"& j).Value Then

Autre

Feuilles("feuille2").Rangées(i & ":" & i).Cut

Feuilles("feuille2").Rows(j & ":" & j).Insert Shift:=xlDown

Sortie pour

Fin si

Suivant j

i = i + 1

Boucle

Fin du sous-marin

Question 2

Sous-CommandButton1_Click() privé

Dim i, j As Long

Feuilles("feuille2").Cells.ClearContents

Feuilles("feuille1").Cells.Copie

Feuilles("feuille2").Sélectionner

Feuilles("feuille2").Range("A1").Sélectionnez

ActiveSheet.Paste

i = 3

Do While Sheets("sheet2").Range("A" & i).Value ""

Pour j = 2 Pour i - 1

Si Sheets("sheet2").Range("C" & i).Value & Sheets("sheet2").Range("D" & i).Value > Sheets("sheet2").Range("C" & j).Valeur & Feuilles("feuille2").Range("D" & j).Valeur Alors

Autre

Feuilles("feuille2").Rangées(i & ":" & i).Cut

Feuilles("feuille2").Rows(j & ":" & j).Insert Shift:=xlDown

Sortie pour

Fin si

Suivant j

i = i + 1

Boucle

Fin du sous-marin

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:docexcel.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!