VBA Delete Sheet | Paano Tanggalin ang Worksheet gamit ang VBA Code?

Excel VBA Delete Sheet

Upang Tanggalin ang Sheet sa VBA, tinatanggal namin ang isang pamamaraan ng Worksheet. Upang mailapat muna ang pamamaraang ito kailangan naming kilalanin kung aling sheet ang tinatanggal namin sa pamamagitan ng pagtawag sa pangalan ng sheet. Mayroon kaming dalawang pamamaraan upang gawin ang pareho muna nang direkta kaming nagsusulat ng sheet1.delete at ang pangalawang pamamaraan ay sheet (sheet1) .delete.

Kaya't sumusunod ang syntax.

Mga Worksheet ("Pangalan ng Worksheet"). Tanggalin

O kaya

Mga Sheet ("Pangalan ng Sheet"). Tanggalin

Kaya, una, kailangan naming tukuyin ang pangalan ng sheet sa pamamagitan ng paggamit ng alinman Worksheet o Mga sheet Bagay, pagkatapos ay maaari nating magamit ang "Tanggalin" paraan

Paano Tanggalin ang Mga Excel Sheet gamit ang VBA Code?

Maaari mong i-download ang VBA Delete Sheet Excel Template dito - VBA Delete Sheet Excel Template

Halimbawa # 1 - Tanggalin ang Worksheet sa pamamagitan ng paggamit ng Pangalan nito

Ipagpalagay na mayroon kang maraming mga sheet at upang tanggalin ang partikular na worksheet kailangan naming banggitin ang worksheet sa pangalan nito. Halimbawa, mayroon akong 3 magkakaibang sheet na pinangalanang "Sales 2016", "Sales 2017", at "Sales 2018".

Kung nais kong tanggalin ang sheet na pinangalanang "Pagbebenta 2017”Pagkatapos ay kailangan kong banggitin ang sheet name tulad ng nasa ibaba.

Code:

 Sub Delete_Example1 () Mga Worksheet ("sheet 2017"). Wakas Sub 

Ang problema sa pagbanggit nang direkta sa pangalan ng worksheet ay hindi namin nakikita ang listahan ng IntelliSense ng VBA. Sa anumang paraan banggitin ang pamamaraan bilang "Tanggalin”.

Code:

 Sub Delete_Example1 () Mga Worksheet ("sheet 2017"). Tanggalin ang End Sub 

Kaya tatanggalin nito ang sheet na pinangalanang “Pagbebenta 2017“.

Error Habang Tinatanggal ang Worksheet: Kung susubukan nating tanggalin ang worksheet na wala, o kung mali naming nabanggit ang pangalan ng worksheet, makakakuha kami ng error sa vba bilang "Subscript Out of Range".

Sa itaas, nakuha ko ang error na "Subscript Out of Range" dahil sa aking workbook walang pangalan ng sheet na tinatawag na "Sales 2017".

Halimbawa # 2 - Tanggalin ang Worksheet ayon sa Pangalan nito na may Mga variable

Tulad ng nakita namin sa halimbawa sa itaas sa sandaling mag-refer kami ng pangalan ng worksheet sa pamamagitan ng paggamit ng object ng Worksheets, hindi namin makita ang listahan ng IntelliSense. Upang matingnan ang listahan ng IntelliSense kailangan naming gumamit ng mga variable.

Hakbang 1: Una ideklara ang variable bilang Worksheet.

Code:

 Sub Delete_Example2 () Dim Ws Bilang Worksheet End Sub 

Hakbang 2: Dahil ang worksheet ay isang variable ng bagay na kailangan namin upang itakda ang variable sa tukoy na worksheet sa pamamagitan ng paggamit ng "ITAKDA”Salita.

Code:

 Sub Delete_Example2 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales 2017") End Sub 

Ngayon ang variable na "Ws" ay tumutukoy sa worksheet na pinangalanang "Sales 2017".

Hakbang 3: Ginagamit na ngayon ang variable na "Ws”Maaari naming ma-access ang lahat ng listahan ng IntelliSense ng worksheet.

Code:

 Sub Delete_Example2 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales 2017") Ws. Wakas Sub 

Hakbang 4: Mula sa listahan ng IntelliSense piliin ang “Tanggalin”Paraan.

Code:

 Sub Delete_Example2 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales 2017") Ws.Delete End Sub 

Tulad nito gamit ang mga variable, maaari naming ma-access ang listahan ng IntelliSense.

Halimbawa # 3 - Tanggalin ang Aktibong Worksheet

Ang Aktibong Sheet ay walang iba kundi ang alinmang worksheet na aktibo o napili sa ngayon. Para sa pamamaraang ito, hindi namin kailangang banggitin ang pangalan ng worksheet. Halimbawa, tingnan ang nasa ibaba VBA code.

ActiveSheet. Tanggalin

Sa ngayon ang aktibong sheet ay "Sales 2017".

Kung patakbuhin ko ang code tatanggalin nito ang aktibong sheet I.e. "Sales 2017".

Pipiliin ko ngayon ang "Sales 2016".

Tatanggalin nito ang aktibong sheet ibig sabihin, "Sales 2016".

Tulad nito, maaari naming gamitin ang object na "Aktibong Sheet" upang tanggalin ang worksheet.

Tandaan: Upang magamit ang pamamaraang ito kailangan nating siguraduhing sigurado kung ano ang ginagawa namin sa Aktibong Sheet at aling sheet ang magiging isang aktibong sheet.

Halimbawa # 4 - Tanggalin ang Higit sa Isang Worksheet

Sa aming mga halimbawa sa itaas, nakita namin kung paano magtanggal ng isang solong sheet ngunit paano kung mayroon kaming maraming mga worksheet sabihin natin na nais naming tanggalin ang 10 mga worksheet.

Hindi namin maaaring panatilihin ang pagsusulat ng 10 mga linya ng code upang tanggalin ang worksheet, kaya kailangan naming gumamit ng mga loop upang mag-loop sa pamamagitan ng koleksyon ng mga worksheet at tanggalin ang mga ito.

Sa ibaba code ay loop sa pamamagitan ng mga worksheet at tatanggalin ang lahat ng mga worksheet sa workbook.

Code:

 Sub Delete_Example2 () Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook. Worksheets Ws. Tanggalin ang Susunod na Ws End Sub 

Ang code sa itaas ay magtatapon ng isang error dahil nagtatangka itong tanggalin ang lahat ng mga sheet sa workbook. Kaya upang maiwasan ito kailangan nating panatilihin ang kahit isang worksheet.

Kung nais naming tanggalin ang lahat ng mga worksheet maliban sa aktibong sheet pagkatapos ay kailangan naming gamitin ang code sa ibaba.

Code:

 Sub Delete_Example2 () Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook. Mga Worksheet Kung ActiveSheet. Pangalan Ws.Name Pagkatapos Ws. Tanggalin ang End Kung Susunod na Ws End Sub 

Katulad nito, kung hindi namin nais na tanggalin ang tukoy na worksheet ngunit tanggalin ang lahat ng iba pang mga worksheet maaari naming magamit ang code sa ibaba.

Code:

 Sub Delete_Example2 () Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook. Mga Worksheet Kung Ws.Name na "Sales 2018" Kung gayon 'Maaari mong baguhin ang pangalan ng worksheet na Ws.Tanggalin ang End Kung Susunod na Ws End Sub 

Tatanggalin ng code sa itaas ang lahat ng mga worksheet maliban sa worksheet na pinangalanan bilang "Sales 2018".