Makro Untuk Memasukkan Lembaran Kerja - Petua Excel

Isi kandungan

"Terjebak di NJ" mengemukakan soalan minggu ini:

Saya membuat buku kerja Excel yang mengandungi carta angka penjualan. Lembaran kerja Excel pertama sesuai dengan wilayah penjualan pertama di syarikat (mis. FL01.) Nama tab lembaran kerja (serta sel A1) adalah nombor wilayah penjualan FL01. Data yang mendorong carta berada di sebelah kanan (di luar julat cetak yang saya tetapkan) dan diisi dari buku kerja excel lain menggunakan VLOOKUP dengan nombor wilayah penjualan FL01 di sel A1 sebagai kunci carian. Saya perlu menambah ke dalam buku kerja 76 lembaran kerja yang sama (satu untuk setiap wilayah penjualan) sehingga setiap nama tab helaian dan sel A1 sama dengan nombor wilayah penjualan berturut-turut (mis. FL01, FL02, LK01, LK02.) Bagaimana saya melakukannya dalam cara automatik?

Ini dapat dicapai dengan mudah dengan makro VBA, tetapi izinkan saya merangkumi tip untuk melakukannya secara manual. Setelah lembaran disusun dengan format dan julat cetakan, anda boleh menggandakan helaian dengan mudah dengan mengklik kanan pada tab untuk helaian tersebut. Dari menu yang muncul, pilih Pindah atau Salin. Dari kotak dialog Pindahkan atau Salin, pilih "(pindah ke akhir)" dan tandakan kotak "Buat Salin", kemudian klik OK. Salinan helaian anda dengan pemformatan akan ditambahkan sebagai lembaran kerja baru di buku kerja anda. (Untuk mempercepat proses ini, tahan kekunci Ctrl sambil menyeret tab lembaran kerja ke kanan.) Anda biasanya ingin menamakan semula helaian. Klik kanan tab baru, pilih nama semula, dan taipkan nama yang bermakna.

Agar makro Excel berfungsi, ia memerlukan senarai wilayah. Sebelum anda menulis makro, masukkan helaian baru dalam buku ini yang bernama Data. Di Sel A1, masukkan wilayah penjualan ke-2 (FL02 dalam contoh anda). Terus memasuki semua wilayah penjualan di lajur A. Jangan tinggalkan baris kosong.

Masukkan makro baru dan salin kod ini:

Public Sub CopyIt() Sheets("Data").Select ' Determine how many territories are on Data sheet FinalRow = Range("A65000").End(xlUp).Row ' Loop through each territory on the data sheet For x = 1 To FinalRow LastSheet = Sheets.Count Sheets("Data").Select ThisTerr = Range("A" & x).Value ' Make a copy of Fl01 and move to end Sheets("FL01").Copy After:=Sheets(LastSheet) ' rename the sheet and set A1 = to the territory name Sheets(LastSheet + 1).Name = ThisTerr Sheets(ThisTerr).Select Range("A1").Value = ThisTerr Next x End Sub

Makro menggunakan arahan Sheets (). Copy yang melakukan perkara yang sama dengan mengklik Pindah atau Salin secara manual. Sebelum membuat setiap salinan, saya mengetahui jumlah helaian dengan menggunakan harta Sheets.Count. Saya tahu jika ada 56 helaian dan saya memasukkan helaian baru, ia akan dirujuk sebagai Helaian (57). Saya merasa agak tidak dapat diramalkan untuk meneka bagaimana Excel akan menamakan helaian baru, jadi saya menggunakan nombor indeks angka untuk mengenal pasti helaian tersebut. Setelah saya menamakan semula helaian baru dengan "Sheets (LastSheet + 1) .Name = ThisTerr", saya kemudian boleh beralih kembali ke kaedah pilihan saya untuk merujuk pada helaian dengan menggunakan namanya.

Perhatikan bahawa senarai wilayah tidak boleh mengandungi FL01 dalam senarai. Mencuba menamakan semula salinan salinan FL01 dengan nama yang sama akan menyebabkan ralat pada makro.

Artikel menarik...