VLOOKUP programmā Excel VBA | Kā rakstīt VLOOKUP kodu VBA?

Vlookup ir Excel darblapas funkcija, taču to var izmantot arī VBA, Vlookup funkcionalitāte ir līdzīga VBA un abās darblapās esošajām funkcijām, jo ​​tā ir darblapas funkcija, izmantojot Vlookup VBA metodi, izmantojot lietojumprogrammu. metode un argumenti paliek nemainīgi.

Funkcija VLOOKUP programmā Excel VBA

Funkcija VLOOKUP programmā Excel tiek izmantota, lai meklētu vērtību masīvā un atgrieztu tai atbilstošo vērtību no citas kolonnas. Vērtībai, kas jāmeklē, jābūt pirmajā slejā. Ir arī jāpiemin, vai meklēt precīzu vai aptuvenu atbilstību. Darblapas funkciju VLOOKUP var izmantot VBA kodēšanā. Funkcija nav iebūvēta VBA, un tāpēc to var izsaukt tikai, izmantojot darblapu.

Excel funkcijai VLOOKUP ir šāda sintakse:

Kurā meklējamā vērtība ir meklējamā vērtība, table_arrray ir tabula, col_index_num ir atgriešanās vērtības kolonnas numurs, range_lookup nozīmē, vai atbilstība ir precīza vai aptuvena. range_lookup var būt TRUE / FALSE vai 0/1.

VBA kodā funkciju VLOOKUP var izmantot kā:

Application.WorksheetFunction.vlookup (uzmeklēšanas_vērtība, tabulas_zīmējums, kolonnas_indeksa_numurs, diapazona_meklējums)

Kā izmantot VLookup programmā Excel VBA?

Tālāk ir sniegti daži VLookup koda piemēri programmā Excel VBA.

Šo VLookup programmā Excel VBA veidne varat lejupielādēt šeit - VLookup programmā Excel VBA veidne

VLookup kods programmā Excel VBA 1. piemērs

Apskatīsim, kā mēs varam izsaukt darblapas funkciju VLOOKUP programmā Excel VBA.

Pieņemsim, ka jums ir dati par studentu ID, vārdu un viņu iegūto vidējo vērtējumu.

Tagad vēlaties uzmeklēt studenta iegūtās atzīmes ar ID 11004.

Lai meklētu vērtību, rīkojieties šādi:

  • Dodieties uz cilni Izstrādātājs un noklikšķiniet uz Visual Basic.

  • Zem VBA loga dodieties uz Ievietot un noklikšķiniet uz Modulis.

  • Tagad uzrakstiet VBA VLOOKUP kodu. Var izmantot šādu VBA VLOOKUP kodu.

Subvlookup1 ()

Blāvs students_id tik ilgi

Blāvi atzīmē kā garu

students_id = 11004

Iestatīt diapazonu = Diapazons (“B4: D8”)

zīmes = Application.WorksheetFunction.VLookup (studentu_id, mainības diapazons, 3, False)

Beigu apakš

Pirmkārt, definējiet studenta ID, kas ir uzmeklēšanas vērtība. Tāpēc mēs definējam,

students_id = 11004

Tālāk mēs definējam diapazonu, kurā pastāv vērtība un atgriešanās vērtība. Tā kā mūsu dati ir šūnās B4: D8, mēs diapazona diapazonu definējam kā:

Iestatīt diapazonu = Diapazons (“B4: D8”)

Visbeidzot, mēs ievadām funkciju VLOOKUP, izmantojot funkciju Worksheet mainīgajā, atzīmējot kā:

zīmes = Application.WorksheetFunction.VLookup (studentu_id, mainības diapazons, 3, False)

Lai drukātu atzīmes ziņojuma lodziņā, izmantosim šādu komandu:

MsgBox “Students ar ID:” & students_id & ”iegūts” & marks & ”markas”

Tas atgriezīsies:

Students ar ID: 11004 ieguva 85 atzīmes.

Tagad noklikšķiniet uz palaist pogu.

Jūs ievērosiet, ka Excel lapā parādīsies ziņojuma lodziņš.

VLookup kods programmā Excel VBA 2. piemērs

Pieņemsim, ka jums ir darbinieku vārdu un viņu algu dati. Šiem datiem ir norādītas B un C slejas. Tagad jums ir jāuzraksta VBA VLOOKUP kods, lai šūnā norādītu darbinieka vārdu F4, darbinieka alga tiktu atgriezta šūnā G4.

Uzrakstīsim VBA VLOOKUP kodu.

  1. Definējiet diapazonu, kurā atrodas vērtības, ti, B un C kolonnas.

Iestatīt diapazonu = Diapazons (“B: C”)

  1. Definējiet darbinieka vārdu un ievadiet vārdu no šūnas F4.

Komplekta nosaukums = diapazons (“F4”)

  1. Definējiet algu kā šūnu G4.

Iestatīt algu = Diapazons (“G4”)

  1. Tagad izsauciet funkciju VLOOKUP, izmantojot VBA WorksheetFunction, un ievadiet to algā. Vērtība. Tas atgriezīs vērtību (funkcijas Vlookup izvade) šūnā G4. Var izmantot šādu sintaksi:

alga.Vērtība = Application.WorksheetFunction.VLookup (nosaukums, mainības diapazons, 2, False)

  1. Tagad palaidiet moduli. Šūnā G4 būs darbinieka alga pēc VBA VLOOKUP koda izpildīšanas.

Pieņemsim, ka darblapā maināt šūnas F4 vērtību uz “Dāvids” un atkārtoti palaidāt kodu, tā atgriezīs Dāvida algu.

VLookup kods programmā Excel VBA 3. piemērs

Pieņemsim, ka jums ir sava uzņēmuma darbinieka dati ar personas kodu, vārdu, uzvārdu, nodaļu un algu. Izmantojot Vlookup VBA, vēlaties iegūt informāciju par darbinieka algu, izmantojot viņa vārdu un nodaļu.

Tā kā Excel funkcija vlookup meklē uzmeklēšanas vērtību tikai vienā kolonnā, kas ir tabulas_līmeņa pirmā kolonna, vispirms ir jāizveido kolonna, kurā ir katra darbinieka vārdi “Vārds” un “Nodaļa”.

VBA darblapas B slejā ievietosim vērtības “Name” un “Department”.

Lai to izdarītu, dodieties uz cilni Izstrādātājs un noklikšķiniet uz Visual Basic. Pēc tam dodieties uz moduli, lai sāktu jaunu moduli.

Tagad uzrakstīsim kodu tā, lai B slejā būtu slejas D (nosaukums) un E slejas vērtības.

Sintakse tiek dota šādi:

Pirmkārt, izmantojiet cilni “par” no i = 4, jo šajā gadījumā vērtības sākas no 4. rindas. Cilpa turpināsies līdz C slejas pēdējās rindas beigām. Tātad mainīgo i var izmantot kā rindas numuru cilnes 'for' iekšpusē.

Pēc tam ievadiet vērtību, kas jāpiešķir Šūnai (rindas_numurs, B kolonna), kuru var norādīt kā Šūnas (i, “B”). Vērtība kā Šūna (rindas_numurs, D kolonna) & “_” & Šūna (rindas_skaitlis, E kolonna) ).

Pieņemsim, ka vēlaties piešķirt šūnu B5 = D5 & “_” & E5, jūs varat vienkārši izmantot kodu kā:

Šūnas (5, “B”). Vērtība = Šūnas (5, “D”). Vērtība & “_” & Šūnas (5, “E”). Vērtība

Ļaujiet meklēt uzmeklēšanas vērtību masīvā B5: E24, vispirms jāievada uzmeklēšanas vērtība. Paņemsim vērtību (nosaukums un nodaļa) no lietotāja. Lai to izdarītu,

  1. definējiet trīs mainīgos, vārdu, nodaļu un uzmeklēšanas_val kā virkni.
  2. Paņemiet vārda ievadi no lietotāja. Izmantojiet kodu:

name = InputBox (“Ievadiet darbinieka vārdu”)

Palaižot kodu, ievades lodziņā “Ievadiet ..” tiks parādīts uzvednes lodziņā. Virknē ievadītā virkne tiks piešķirta nosaukuma mainīgajam.

  1. Paņemiet nodaļu no lietotāja. To var izdarīt līdzīgi kā iepriekš.

departaments = InputBox (“Ievadiet darbinieka nodaļu”)

  1. Piešķiriet nosaukumu un nodaļu ar “_” kā atdalītāju mainīgajam lookup_val, izmantojot šādu sintaksi:

lookup_val = nosaukums & “_” & nodaļa

  1. Uzrakstiet vlookup sintaksi, lai meklētu uzmeklēšanas_valu diapazonā B5: E24 atdod to mainīgā algā.

Inicializējiet mainīgo algu:

Blāva alga Tikpat gara

Izmantojiet funkciju Vlookup, lai atrastu lookup_val. Table_array var norādīt kā diapazonu (“B: F”), un alga ir norādīta 5. slejā. Tādējādi var izmantot šādu sintaksi:

alga = Application.WorksheetFunction.VLookup (look_val, Range (“B: F”), 5, False)

  1. Lai drukātu algu ziņojumu lodziņā, izmantojiet sintaksi:

MsgBox (darbinieka alga ir ”& alga)

Tagad palaidiet kodu. Darblapā parādīsies uzvednes lodziņš, kurā varat ievadīt vārdu. Pēc vārda ievadīšanas (Say Sashi) un noklikšķiniet uz Labi.

Tas atvērs vēl vienu lodziņu, kurā jūs varat ievadīt nodaļu. Pēc ievadīšanas nodaļā sakiet IT.

Tas izdrukās darbinieka algu.

Ja Vlookup var atrast jebkuru darbinieku ar vārdu un nodaļu, tas radīs kļūdu. Pieņemsim, ka jūs piešķirat nosaukumu “Višnu” un nodaļu “IT”, tas atgriezīs izpildlaika kļūdu “1004”.

Lai novērstu šo problēmu, kodā varat norādīt, ka šāda veida kļūdām tā vietā drukājiet “Value not found”. Lai to izdarītu,

  1. Pirms vlookup sintakses izmantošanas izmantojiet šo kodu

Par kļūdu GoTo ziņojums

Pārbaudiet:

Tiks uzraudzīts pēdējais kods (Pārbaude :), un, ja tas saņems kļūdu, tas nonāks paziņojumā “Ziņojums”

  1. Koda beigās (Before End Sub Sub) norādiet, ka, ja kļūdas numurs ir 1004, tad drukājiet ziņojumu lodziņā “Darbinieku dati nav pieejami”. To var izdarīt, izmantojot sintaksi:

Ziņojums:

Ja Kļūda.Skaitlis = 1004 Tad

MsgBox (“Nav darbinieku datu”)

Beigt Ja

1. modulis:

Subvlookup3 ()

Par i = 4 uz šūnām (Rows.Count, “C”). Beigas (xlUp). Rinda

Šūnas (i, “B”). Vērtība = Šūnas (i, “D”). Vērtība & “_” & Šūnas (i, “E”). Vērtība

Nākamais iDim nosaukums kā virkne

Dim departaments kā stīga

Blāvs meklēšanas_val kā virkne

Blāva alga As Longname = InputBox (“Ievadiet darbinieka vārdu”)

departaments = InputBox (“Ievadiet darbinieka nodaļu”)

lookup_val = nosaukums & “_” & departaments Kļūdā GoTo ziņojums

pārbaudīt:

alga = Application.WorksheetFunction.VLookup (look_val, Range (“B: F”), 5, False)

MsgBox (“Darba ņēmēja alga ir” un alga) Ziņojums:

Ja Kļūda.Skaitlis = 1004 Tad

MsgBox (“Nav darbinieku datu”)

Beigt IfEnd apakškopu

Lietas, kas jāatceras par VLookup programmā Excel VBA

  • Funkciju Vlookup var izsaukt programmā Excel VBA, izmantojot WorksheetFunction.
  • Funkcijas vlookup sintakse programmā Excel VBA paliek nemainīga.
  • Ja VBA vlookup kods nevar atrast uzmeklēšanas vērtību, tas dos kļūdu 1004.
  • Kļūdu vlookup funkcijā var pārvaldīt, izmantojot goto paziņojumu, ja tā atgriež kļūdu.

$config[zx-auto] not found$config[zx-overlay] not found