Andaikan baris pertama anda ialah baris tajuk bermula dengan baris kedua
Sub merge()
Endcol1 = Helaian1.[iv1].Tamat(xlToLeft).Lajur
endrow1 = Helaian1.Julat("B65536").Tamat(xlUp).Baris
endcol2 = Helaian2.[iv1].Tamat(xlToLeft).Lajur
endrow2 = Helaian2.Julat("B65536").Tamat(xlUp).Baris
Malapkan A Sebagai Julat
Malapkan BiaoYiID Sebagai Julat
Malapkan BiaoErID Sebagai Julat
Malapkan MyRange1 Sebagai Julat
Malapkan BiaoErH Sebagai Julat
Leiji Malap Selagi
Helaian2.Aktifkan
Tetapkan BiaoErID = Helaian2.Julat(Sel(2, 2), Sel(endrow2, 2))
Untuk i = 2 Untuk endrow1
sxh = i + lieji
lieji1 = 0
biaoerneirong = Helaian1.Julat("B"& sxh).Teks
Set A = BiaoErID.Find(biaoerneirong, selepas:=BiaoErID.Cells(BiaoErID.Cells.Count), lookat:=xlWhole)
Jika Bukan A Adalah Tiada Jadi
biaoertopaddress = A.Alamat
Lakukan
sxh1 = sxh + lieji1
BIAORADDRESS = A.Alamat(RowAbsolute:=False, ColumnAbsolute:=False)
biaoyiaaddress = Helaian1.Julat("B" & sxh1).Alamat(RowMutlak:=Salah, Lajur Mutlak:=Salah)
Helaian1.Pilih
Helaian1.Julat(biaoyiaddress).Offset(1).Aktifkan
ActiveCell.EntireRow.Insert
lieji = lieji + 1
lieji1 = lieji1 + 1
Untuk ii = 0 Ke endcol2
ActiveCell.Offset(0, ii) = Helaian2.Julat(BIAOERADDRESS).Offset(0, ii)
Seterusnya
Set A = BiaoErID.FindNext(A)
Gelung Walaupun Bukan A Adalah Tiada Dan A.Alamat biaoertopaddress
Tamat Jika
Seterusnya
Tamat Sub
Sub perangkaan nombor lembaran kerja ()
Jika Helaian(1).Nama "Statistik bilangan lembaran kerja" Kemudian
yn = MsgBox ("Lembaran kerja [statistik kuantiti lembaran kerja] tidak wujud, buat [statistik kuantiti lembaran kerja]?", vbYesNo, "Buat lembaran kerja [statistik kuantiti lembaran kerja]")
Jika yn = vbYa Maka
Helaian.Tambah(Helaian(1)).Nama = "Statistik kuantiti helaian"
Tamat
Tamat Jika
Tamat Jika
Helaian ("Statistik tentang bilangan lembaran kerja").Pilih
Julat("A1").Pilih
Sel(1, 1).Nilai = "Bilangan lembaran kerja ialah"
Sel(1, 2).Nilai = Helaian.Kira
Tamat Sub
Lembaran kerja bernama Statistik Lembaran Kerja akan dibuat dan bilangan lembaran kerja akan dipaparkan dalam baris pertama
Awam m& 'Tentukan pembolehubah awam m
Sub lqxs()
Dim Arr, i&, Brr(1 Hingga 27, 1 Hingga 23), rq, nl 'Tentukan pembolehubah di atas, Brr ialah tatasusunan dua dimensi dengan 27 baris dan 23 lajur
Helaian1.Aktifkan 'Jadikan helaian1 sebagai helaian yang sedang aktif
[c5:z32].KosongkanKandungan 'Kosongkan data dalam sel C5 hingga Z32
Myr = Sheet2.[a65536].End(xlUp).row 'Tentukan bilangan baris dalam kawasan dengan data dalam lajur A Helaian2 kepada pembolehubah Myr
Arr = Sheet2.Range("a7:t" & Myr) 'Namakan kawasan dari lajur A7 ke lajur T dan baris Myr sebagai Arr
Untuk i = 1 Ke UBound(Arr) 'Gelung
rq = DateSerial(Kiri(Arr(i, 7), 4), Mid(Arr(i, 7), 5, 2), Kanan(Arr(i, 7), 2)) 'Letakkan lajur G dalam Helaian2 data ditukar kepada format tarikh, seperti: 2013/12/12
nl = DateDiff("yyyy", rq, Now) 'Tentukan sama ada tahun tarikh data dalam lajur G dalam Helaian2 adalah sama dengan tahun ini. Jika sama, 0 akan dikembalikan, jika ia bukan sama, 1 akan dikembalikan
Panggil jd(Arr(i, 13)) fungsi 'Panggil jd()
Brr(1, nl + 1) = Brr(1, nl + 1) + 1 'Tambah satu pada nilai tatasusunan Brr(1, nl + 1)
Brr(m, nl + 1) = Brr(m, nl + 1) + 1 'Tambah satu pada nilai tatasusunan Brr(1, nl + 1)
Seterusnya
[d5].Resize(27, 23) = Brr 'Mulakan dengan memberikan nilai tatasusunan kepada sel D5, dan pergi ke baris ke-26 dan lajur ke-22 di sebelah kanan
[c5].Formula = "=sum(rc[1]:rc[23])" 'Tambahkan formula pada sel C5, C5=D5+E5+F5++AB5
[c5].AutoIsi [c5].Ubah Saiz(27, 1) 'Pengisian format Isikan format C5 ke dalam sel C31
[d6].Formula = "=sum(r[1]c:r[4]c)" 'Tambah formula pada sel D6, D6=D7+D8+D9+D10
[d6].AutoIsi [d6].Ubah Saiz(1, 23) 'Format pengisian, isikan format D6 ke dalam sel AB31
Tamat Sub
Atas ialah kandungan terperinci Kod VBA Excel: Gabungkan baris anak kepada baris induk, hasilnya ialah baris induk 1 dan anak-anaknya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!