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 funkcionalitātei VBA un abās darblapās, 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_paraugs, 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.

VLookup kods programmā Excel VBA 1. piemērs

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

Pieņemsim, ka jūs datus par studentu personas apliecību, vārdu un viņu iegūto vidējo vērtējumu.

Tagad vēlaties uzzināt atzīmes, kuras ieguvis students 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.

Sub vlookup1 ()
Dim student_id As Long
Dim atzīmē As Long
student_id = 11004
Set myrange = Range (“B4: D8”)
zīmes = Application.WorksheetFunction.VLookup (student_id, myrange, 3, False)
Beigu apakšdaļa

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ā:

atzīmes = Application.WorksheetFunction.VLookup (studenta_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 dati par darbinieku vārdiem un viņu algu. Šiem datiem ir norādītas B un C slejas. Tagad jums ir jāuzraksta VBA VLOOKUP kods tā, ka šūnā norādītais darbinieka vārds F4 darbinieka alga tiks 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, un tas 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 Ievietot un noklikšķiniet uz Modulis, 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, izmantot a "" cilpu no i = 4 jo vērtība ir sākot no 4 th rindu šajā gadījumā. 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”)

Ievadot kodu, ievades lodziņa “Ievadiet…” saturs tiks parādīts uzvedņu 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 lookup_val 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. Tabulas_masīvs var ievadīt kā Range ( "B: F"), un alga ir klāt 5 th kolonnas. 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 lietojat vlookup sintaksi, 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 ziņojumu lodziņā izdrukājiet “Nav datu par darbiniekiem”. To var izdarīt, izmantojot sintaksi:

Ziņojums:

Ja Err.Number = 1004 Tad

MsgBox (“Nav darbinieku datu”)

Beigt Ja

1. modulis:

Sub vlookup3 ()
Par i = 4 uz šūnām (Rows.Count, “C”). Beigas (xlUp). Rindu
šūnas (i, “B”). Vērtība = Cells (i, “D”). Vērtība & “_ ”& Cells (i,“ E ”). Vērtība
Nākamais iDim nosaukums Kā String
Dim departaments kā String
Dim lookup_val As String
Dim alga As Longname = InputBox (“ Ievadiet darbinieka vārdu ”)
departaments = InputBox (“ Ievadiet departamentu darbinieks ”)
lookup_val = nosaukums &“ _ ”& departaments Kļūdā GoTo ziņojumu
pārbaude:
alga = Application.WorksheetFunction.VLookup (lookup_val, Range (“ B: F ”), 5, False)
MsgBox (“ Darbinieka alga ir ”& Alga) Ziņojums:
Ja kļūdas numurs = 1004, tad
MsgBox (“ Darbinieku dati nav pieejami ”)
Beigt IfEnd apakšdaļu

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.
  • Kad VBA vlookup kods nevar atrast uzmeklēšanas vērtību, tas radīs kļūdu 1004.
  • Kļūdu vlookup funkcijā var pārvaldīt, izmantojot goto paziņojumu, ja tā atgriež kļūdu.

Interesanti raksti...