Rumah  >  Artikel  >  Tutorial perisian  >  Kod VBA Excel: Gabungkan baris anak kepada baris induk, hasilnya ialah baris induk 1 dan anak-anaknya

Kod VBA Excel: Gabungkan baris anak kepada baris induk, hasilnya ialah baris induk 1 dan anak-anaknya

WBOY
WBOYke hadapan
2024-01-20 08:15:05997semak imbas

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

Sekeping kod vba excel digunakan untuk menggabungkan baris jadual anak ke dalam jadual induk Hasilnya ialah: beberapa baris induk 1

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

Cara menulis kod VBA untuk mengira bilangan lembaran kerja dalam buku kerja

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

Sila pakar tulis komen untuk kod excel VBA di bawah Sila tulis komen sedetail mungkin

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!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam