Šajā apmācībā tiks apspriests, kā pievienot / ievietot darblapas, izmantojot VBA.
Pievienot lapu
Šis vienkāršais makro pievienos lapu pirms ActiveSheet:
123 | Pievienot apakšdaļu ()Loksnes. PievienotBeigu apakš |
Pēc lapas ievietošanas jaunā lapa kļūst par ActiveSheet. Pēc tam varat izmantot ActiveSheet objektu, lai strādātu ar jauno lapu (šī raksta apakšā mēs parādīsim, kā ievietot jaunu lapu tieši mainīgajam).
1 | ActiveSheet.Name = "NewSheet" |
Pievienojiet lapu ar nosaukumu
Veidojot jaunu lapu, varat definēt arī lapas nosaukumu:
1 | Sheets.Add.Name = "NewSheet" |
Izveidojiet jaunu lapu ar nosaukumu no šūnas
Vai arī izmantojiet šūnas vērtību, lai nosauktu jaunu lapu:
1 | Sheets.Add.Name = diapazons ("a3") |
Pievienot lapu pirms / pēc citas lapas
Varat arī izvēlēties vietu, kur tiks ievietota jaunā lapa. Varat izmantot rekvizītus Pēc vai Pirms, lai ievietotu lapu noteiktā darbgrāmatas vietā.
Ievietojiet lapu pēc citas lapas
Šis kods ievietos jauno lapu PĒC citas lapas:
1 | Lapas. Pievienot pēc: = Izklājlapas ("Ievades") |
Pēc šīs lapas tiks ievietota jauna lapa un norādīts lapas nosaukums:
1 | Sheets.Add (Pēc: = Sheets ("Ievades")). Name = "NewSheet" |
Ievērojiet otrajā piemērā nepieciešamo papildu iekavu (pirmais piemērs radīs kļūdu, ja tiks pievienota otrā iekava).
vai pirms:
1 | Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet" |
Šajos piemēros mēs skaidri nosaucām lapu, ko izmantoja lapas atrašanās vietas noteikšanai. Bieži vien tā vietā vēlaties izmantot lapu indeksa numuru, lai lapu varētu ievietot darbgrāmatas sākumā vai beigās:
Pievienojiet lapu darbgrāmatas beigām
Lai pievienotu lapu darbgrāmatas beigām:
1 | Sheets. Pievienot pēc: = Sheets (Sheets.Count) |
Pievienojiet lapu darbgrāmatas sākumam:
Lai pievienotu lapu darbgrāmatas sākumam:
1 | Sheets.Add (Pirms: = Sheets (1)). Name = "FirstSheet" |
Pievienot lapu mainīgajam
Šis kods piešķir jaunu lapu mainīgajam, veidojot lapu:
12 | Dim ws kā darblapaIestatiet ws = Sheets.Add |
Šeit jūs varat atsaukties uz jauno lapu ar mainīgo “ws”:
1 | ws.name = "VarSheet" |
Vairāk Pievienot lapu piemērus
Izveidojiet lapu, ja tā vēl nav
Iespējams, vēlēsities izveidot lapu tikai tad, ja tā vēl nav.
Izveidojiet darblapas no vārdu saraksta
Tālāk aprakstītajā rutīnā tiks apskatīts vienas kolonnas saturs, kurā pašreizējā darbgrāmatā ir iestatīti Excel darblapas ar šiem nosaukumiem. Tas izsauc citu funkciju, lai noskaidrotu, vai lapa ar šādu nosaukumu jau pastāv un vai tā nav izveidota.
1234567891011121314151617181920212223242526 | Privāta apakškomandaButton1_Click ()Zvaniet CreateWorksheets (Sheets ("Sheet2"). Diapazons ("A1: a10"))Beigu apakšSub CreateWorksheets (Names_Of_Sheets as Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountAttiecībā uz i = 1 līdz No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1). Vērtība“Pievienojiet lapu tikai tad, ja tā vēl nepastāv un nosaukums ir garāks par nulles rakstzīmēmJa (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") thenDarblapas. Pievienot (). Nosaukums = Lapas_NosaukumsBeigas JaTālāk iBeigu apakš |
1234567891011121314 | Funkcija Sheet_Exists (WorkSheet_Name As String) kā BūlaAptumšot darblapu kā darblapuSheet_Exists = NepareiziPar katru darblapu šajā darba grāmatā. Darba lapasJa Work_sheet.Name = WorkSheet_Name TadSheet_Exists = TrueBeigas JaNākamaisBeigu funkcija |
Tātad, ja mums ir šāds teksts šūnās A1: A30 2. lapā:
Pēc tam tiks izveidotas šādas lapas:
Ņemiet vērā: lai gan “Suns” parādās divas reizes, tiek izveidota tikai viena lapa.
Lai lejupielādētu .XLS failu šai apmācībai, noklikšķiniet šeit.