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
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
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 Z32Myr = 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() aufrufenBrr(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!