Code Excel VBA : fusionnez les lignes enfants avec les lignes parents, le résultat est la ligne parent 1 et ses enfants

WBOY
Libérer: 2024-01-20 08:15:05
avant
1033 Les gens l'ont consulté

一段excel vba代码用于将子表行合并到父表结果:父行1若干

Un morceau de code Excel VBA est utilisé pour fusionner les lignes de la table enfant dans la table parent. Le résultat est : plusieurs lignes parent 1 .

En supposant que votre première ligne soit la ligne de titre, commencez par la deuxième ligne

Sub fusion()

Endcol1 = Feuille1.[iv1].End(xlToLeft).Column

endrow1 = Sheet1.Range("B65536").End(xlUp).Row

endcol2 = Sheet2.[iv1].End(xlToLeft).Column

endrow2 = Sheet2.Range("B65536").End(xlUp).Row

Dim A comme gamme

Dim BiaoYiID comme plage

Dim BiaoErID comme plage

Dim MyRange1 As Range

Dim BiaoErH comme gamme

Dim leiji aussi longtemps

Feuille2.Activer

Définissez BiaoErID = Sheet2.Range(Cells(2, 2), Cells(endrow2, 2))

Pour i = 2 Pour endosser1

sxh = i + lieji

lieji1 = 0

biaoerniong = Sheet1.Range("B"& sxh).Text

Set A = BiaoErID.Find(biaoerneirong, after:=BiaoErID.Cells(BiaoErID.Cells.Count), lookat:=xlWhole)

Si ce n'est pas A, ce n'est rien alors

biaoertopaddress = A.Adresse

Faire

sxh1 = sxh + lieji1

BIAORADDRESS = A.Address(RowAbsolute:=False, ColumnAbsolute:=False)

biaoyiaddress = Sheet1.Range("B" & sxh1).Address(RowAbsolute:=False, ColumnAbsolute:=False)

Feuille1.Sélectionner

Sheet1.Range(biaoyiaddress).Offset(1).Activate

ActiveCell.EntireRow.Insert

lieji = lieji + 1

lieji1 = lieji1 + 1

Pour ii = 0 Pour finir col2

ActiveCell.Offset(0, ii) = Sheet2.Range(BIAOERADDRESS).Offset(0, ii)

Suivant

Définir A = BiaoErID.FindNext(A)

Boucle alors que non A n'est rien et A.Address biaoertopaddress

Fin si

Suivant

Fin du sous-marin

Comment écrire un code VBA pour compter le nombre de feuilles de calcul dans un classeur

Statistiques du numéro de sous-feuille de calcul ()

Si Feuilles(1).Nom "Statistiques du nombre de feuilles de calcul" Alors

yn = MsgBox ("La feuille de calcul [Statistiques de quantité de la feuille de calcul] n'existe pas, créer [Statistiques de quantité de la feuille de calcul] ?", vbYesNo, "Créer une feuille de calcul [Statistiques de quantité de la feuille de calcul]")

Si yn = vbOui Alors

Sheets.Add(Sheets(1)).Name = "Statistiques de quantité de feuilles"

Fin

Fin si

Fin si

Feuilles ("Statistiques sur le nombre de feuilles de calcul").Sélectionnez

Plage("A1").Sélectionner

Cells(1, 1).Value = "Le nombre de feuilles de calcul est"

Cellules(1, 2).Value = Sheets.Count

Fin du sous-marin

Une feuille de calcul nommée Worksheet Statistics sera créée et le nombre de feuilles de calcul sera affiché dans la première ligne

Veuillez, les experts, écrire des commentaires pour le code Excel VBA ci-dessous. Veuillez rendre les commentaires aussi détaillés que possible. Merci .

Public m& 'Définir la variable publique m

Sub lqxs()

Dim Arr, i&, Brr(1 To 27, 1 To 23), rq, nl 'Définissez les variables ci-dessus, Brr est un tableau bidimensionnel avec 27 lignes et 23 colonnes

Sheet1.Activate 'Faire de la feuille 1 la feuille actuellement active

[c5:z32].ClearContents 'Efface les données des cellules C5 à Z32

Myr = Sheet2.[a65536].End(xlUp).row 'Attribuez le nombre de lignes dans la zone avec les données dans la colonne A de Sheet2 à la variable Myr

Arr = Sheet2.Range("a7:t" & Myr) 'Nommez la zone allant de la colonne A7 à la colonne T et la ligne Myr comme Arr

Pour i = 1 To UBound(Arr) 'Loop

rq = DateSerial(Left(Arr(i, 7), 4), Mid(Arr(i, 7), 5, 2), Right(Arr(i, 7), 2)) 'Placer la colonne G dans Sheet2 Le les données sont modifiées au format de date, tel que : 2013/12/12

nl = DateDiff("yyyy", rq, Now) 'Déterminez si l'année de la date des données dans la colonne G de la feuille 2 est la même que cette année. Si c'est la même, elle renverra 0, si ce n'est pas la même. pareil, il reviendra 1

Appeler jd(Arr(i, 13)) 'Appeler la fonction jd()

Brr(1, nl + 1) = Brr(1, nl + 1) + 1 'Ajoutez un à la valeur du tableau Brr(1, nl + 1)

Brr(m, nl + 1) = Brr(m, nl + 1) + 1 'Ajoutez un à la valeur du tableau Brr(1, nl + 1)

Suivant

[d5].Resize(27, 23) = Brr 'Commencez par attribuer la valeur du tableau à la cellule D5, et passez à la 26ème ligne et à la 22ème colonne à droite

[c5].Formula = "=sum(rc[1]:rc[23])" 'Ajouter une formule à la cellule C5, C5=D5+E5+F5++AB5

[c5].AutoFill [c5].Resize(27, 1) 'Remplissage du format Remplissez le format de C5 dans la cellule C31

[d6].Formula = "=sum(r[1]c:r[4]c)" 'Ajouter une formule à la cellule D6, D6=D7+D8+D9+D10

[d6].AutoFill [d6].Resize(1, 23) 'Remplissage du format, remplissez le format de D6 dans la cellule AB31

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!

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