Excel-VBA-Code: Untergeordnete Zeilen mit übergeordneten Zeilen zusammenführen. Das Ergebnis ist übergeordnete Zeile 1 und ihre untergeordneten Zeilen

WBOY
Freigeben: 2024-01-20 08:15:05
nach vorne
1033 Leute haben es durchsucht

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

Ein Stück Excel-VBA-Code wird verwendet, um die Zeilen der untergeordneten Tabelle mit der übergeordneten Tabelle zusammenzuführen. Das Ergebnis ist: mehrere übergeordnete Zeilen 1

Angenommen, Ihre erste Zeile ist die Titelzeile, beginnen Sie mit der zweiten Zeile

Sub merge()

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

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

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

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

A als Bereich dimmen

BiaoYiID als Bereich dimmen

BiaoErID als Bereich dimmen

MyRange1 als Bereich dimmen

BiaoErH als Bereich dimmen

Dim leiji As Long

Sheet2.Activate

Setze BiaoErID = Sheet2.Range(Cells(2, 2), Cells(endrow2, 2))

Für i = 2 To endrow1

sxh = i + lieji

lieji1 = 0

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

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

Wenn nicht A nichts ist, dann

biaoertopaddress = A.Address

Tu

sxh1 = sxh + lieji1

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

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

Blatt1.Auswählen

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

ActiveCell.EntireRow.Insert

lieji = lieji + 1

lieji1 = lieji1 + 1

Für ii = 0 bis endcol2

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

Weiter

Setze A = BiaoErID.FindNext(A)

Loop While Not A Is Nothing And A.Address biaoertopaddress

Ende wenn

Weiter

End Sub

So schreiben Sie einen VBA-Code, um die Anzahl der Arbeitsblätter in einer Arbeitsmappe zu zählen

Statistik der Unterarbeitsblattnummer ()

If Sheets(1).Name "Statistik der Anzahl der Arbeitsblätter" Then

yn = MsgBox („[Arbeitsblatt-Mengenstatistik] Arbeitsblatt existiert nicht, [Arbeitsblatt-Mengenstatistik] erstellen?“, vbYesNo, „[Arbeitsblatt-Mengenstatistik]-Arbeitsblatt erstellen“)

Wenn yn = vbJa, dann

Sheets.Add(Sheets(1)).Name = „Statistik der Blattanzahl“

Ende

Ende wenn

Ende wenn

Blätter („Statistik zur Anzahl der Arbeitsblätter“).Wählen

Bereich("A1").Auswählen

Cells(1, 1).Value = „Die Anzahl der Arbeitsblätter beträgt“

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

End Sub

Ein Arbeitsblatt mit dem Namen „Arbeitsblattstatistik“ wird erstellt und die Anzahl der Arbeitsblätter wird in der ersten Zeile angezeigt

Bitte schreiben Sie Kommentare für den Excel-VBA-Code unten. Bitte machen Sie die Kommentare so detailliert wie möglich Public m& 'Definieren Sie die öffentliche Variable m

Sub lqxs()

Dim Arr, i&, Brr(1 To 27, 1 To 23), rq, nl 'Definieren Sie die oben genannten Variablen, Brr ist ein zweidimensionales Array mit 27 Zeilen und 23 Spalten

Blatt1.Aktiviere „Blatt1 zum aktuell aktiven Blatt machen

“.

[c5:z32].ClearContents 'Löschen Sie die Daten in den Zellen C5 bis Z32

Myr = Sheet2.[a65536].End(xlUp).row 'Weisen Sie der Myr-Variablen die Anzahl der Zeilen im Bereich mit Daten in Spalte A von Sheet2 zu

Arr = Sheet2.Range("a7:t" & Myr) 'Nennen Sie den Bereich von Spalte A7 bis Spalte T und Zeile Myr als Arr

For i = 1 To UBound(Arr) 'Loop

rq = DateSerial(Left(Arr(i, 7), 4), Mid(Arr(i, 7), 5, 2), Right(Arr(i, 7), 2)) 'Platziere Spalte G in Sheet2 The Die Daten werden in das Datumsformat geändert, z. B.: 12.12.2013

nl = DateDiff("yyyy", rq, Now) 'Bestimmen Sie, ob das Jahr des Datendatums in Spalte G in Sheet2 mit diesem Jahr übereinstimmt. Wenn es dasselbe ist, wird 0 zurückgegeben, wenn nicht Das Gleiche gilt, es wird 1

zurückgegeben

Call jd(Arr(i, 13)) 'Funktion jd() aufrufen

Brr(1, nl + 1) = Brr(1, nl + 1) + 1 'Addiere eins zum Wert des Arrays Brr(1, nl + 1)

Brr(m, nl + 1) = Brr(m, nl + 1) + 1 'Addiere eins zum Wert des Arrays Brr(1, nl + 1)

Weiter

[d5].Resize(27, 23) = Brr 'Zunächst weisen Sie der Zelle D5 den Wert des Arrays zu und gehen dann zur 26. Zeile und 22. Spalte rechts

[c5].Formula = "=sum(rc[1]:rc[23])" 'Formel zu Zelle C5 hinzufügen, C5=D5+E5+F5++AB5

[c5].AutoFill [c5].Resize(27, 1) 'Formatfüllung Füllen Sie das Format von C5 in Zelle C31

[d6].Formula = "=sum(r[1]c:r[4]c)" 'Formel zu Zelle D6 hinzufügen, D6=D7+D8+D9+D10

[d6].AutoFill [d6].Resize(1, 23) 'Formatfüllung, fülle das Format von D6 in Zelle AB31

End Sub

Das obige ist der detaillierte Inhalt vonExcel-VBA-Code: Untergeordnete Zeilen mit übergeordneten Zeilen zusammenführen. Das Ergebnis ist übergeordnete Zeile 1 und ihre untergeordneten Zeilen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage