Táboa de contidos
Podes utilizar as funcións integradas da folla de cálculo de Excel, como a Función BUSCAR V , a Función ESCOLLER e a Función PMT no teu código e aplicacións VBA así como. De feito, a maioría das funcións da folla de traballo de Excel pódense acceder e usar no código VBA . Gústalle usar INDEX & MATCH Funcións da folla de traballo no código VBA de Excel.
Por que queres usar as funcións Excel Folla de traballo no teu VBA código ? Pois para ampliar a funcionalidade do código que estás a usar. Ademais, non tes que crear as túas propias funcións, a non ser que realmente o precises, se a funcionalidade xa está aí. Basicamente, o único que tes que facer é acceder á función que necesitas, xa que xa está aí e non hai que reinventar a roda.
Entón, imos comezar cun exemplo que mostra como usar INDEX MATCH. con Excel VBA.
Imos utilizar as funcións INDEX e MATCH en Excel VBA código , para crear un formulario de usuario simple. Usando o formulario, o usuario selecciona un nome do alumno e, a continuación, obtén e devólvese o sexo correspondente e a cor dos ollos.
Descargar o libro de prácticas
Descargue o libro de prácticas para practique a si mesmo.
INDEX-MATCH.xlsx
9 pasos sinxelos para usar INDEX e MATCH dentro do código VBA
O ÍNDICE e COINCIDENCIA As funcións úsanse a miúdo en combinación nas fórmulas, para realizar buscas avanzadas. Os dous combinados ofrecen certas vantaxes sobre VLOOKUP .
Xa explicamos en detalle como usar INDEX e MATCH para realizar funcións avanzadas. busca nun Excel caderno de traballo como unha fórmula de folla de traballo directa, nun titorial anterior . Agora imos ver como usar as funcións INDEX e MATCH xuntos no VBA code , para conferir unha funcionalidade similar a a busca Formulario de usuario que imos crear.
Paso 1: Aplicar as funcións INDEX e MATCH no conxunto de datos
- Estamos comezando con dúas follas na nosa macro -caderno de traballo habilitado. Unha é unha folla baleira chamada Formulario de usuario , a outra é unha folla chamada Información do alumno , que contén un intervalo que mostra os nomes dos estudantes, o seu xénero correspondente e a cor dos ollos como que se mostra a continuación.
Lembremos axiña se queriamos usar o INDICE e MATCH Funcións nunha soa fórmula, na folla de traballo real para darnos o xénero do nome do alumno que queremos buscar. Usaríamos a seguinte fórmula:
=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))
- Ao premer CTRL-ENTER , obtemos o valor de Femininas devolto, como o xénero como se mostra a continuación.
Paso 2: Cambia o nome da columna B a StudentNames
- Agora nomearemos o intervalo A2: A31 , StudentNames como se mostra a continuación.
- Ocultar a folla Información do alumno facendo clic co botón dereito do rato e seleccionando Ocultar. É unha boa idea ocultar superficialmente as follas de traballo de fondo que conteñen a información, que non queres que o usuario edite nin vexa.
Paso 3: Abre a xanela de Visual Basic
- Agora coa folla UserForm activada, imos a Desenvolvedor > Código > Visual Basic para abrir o Editor de Visual Basic (VBE) .
- Unha vez na interface VBE , imos a Inserir, Formulario de usuario como se mostra a continuación .
Paso 4: cambiar as propiedades e engadir caixas de texto
- Uso da xanela Propiedades , cambiaremos o nome do noso formulario a StudentLookup , cambiaremos o título a Buscar información do alumno, cambiaremos a BackColor a azul claro e estableceremos a altura en 300 px e o ancho de 350 px. Se a xanela de propiedades non aparece, preme a tecla F4 do teu teclado para vela.
- Nós agora inserirá unha etiqueta usando a Caixa de ferramentas (se non podes ver a Caixa de ferramentas, por algún motivo vai a Ver, Caixa de ferramentas ), cambia o Título a Escolle un alumno e cambiaremos o BackColor a branco neste caso. Estableceremos o tipo de letra en Xeorxia , o estilo de letra en negriña , o tamaño de fonte a 12 eo centro aliña o texto. O efecto especial utilizado será o 1– fmSpecialEffectRaised como se mostra a continuación.
- Agora inseriremos un cadro combinado debaixo do etiqueta. Nomea esta caixa combinada cmdStudentName e para RowSource , escriba StudentNames.
- Para ver o efecto de configurar a Fonte da fila do cadro combinado, Fai clic no botón Executar Sub/Formulario de usuario .
- Agora debido á configuración do RowSource ao intervalo nomeado, cando o usuario fai clic na frecha despregable do formulario de usuario, a caixa combinada mostra os nomes dos estudantes do rango nomeado, automaticamente como se mostra a continuación.
- Pecha o formulario de usuario facendo clic no botón pechar. Preme Alt-F11 para volver ao VBE .
- Unha vez de novo no VBE , engade outra etiqueta ao formulario de usuario ( debaixo do cadro combinado) e cambie o Caption a Xénero e cambiaremos a BackColor a branco neste caso. Estableceremos o tipo de letra en Xeorxia , o estilo de fonte en negriña , o tamaño da fonte a 12 e o centro aliñaremos o texto . O efecto especial utilizado será o 1– fmSpecialEffectRaised como se mostra a continuación.
- Crear unha caixa de texto debaixo da Xénero etiqueta e ponlle o nome txtGender .
- Engade outra etiqueta chamada Ollo Cor e unha caixa de texto nomeada txtEyeColour como se mostra a continuación. Utiliza as mesmas propiedades para a etiqueta que para as outras dúas etiquetas engadidas anteriormente ao formulario, para garantir que o Formulario de usuario teña un aspecto coherente.
- Agora Seleccione todos os controis, engadidos ao Formulario de usuario , ata agora usando a tecla de control.
- Centra horizontalmente, como se mostra a continuación.
Ler Máis: Como usar a fórmula INDEX MATCH en Excel (9 exemplos)
Lecturas similares
- Excel COINCIDENCIA DE ÍNDICE Se a cela contén texto
- Como usar a fórmula de COINCIDENCIA DE ÍNDICE en Excel para xerar varios resultados
- Coincidencia de índice Suma varias filas en Excel (3 xeitos)
- Aprende a programación e amp; Macros (Tutorial gratuíto - Paso a paso)
- 22 Exemplos de macros en Excel VBA
Paso 5: Engade un botón da Caixa de ferramentas
- A continuación, Engade un botón ao formulario mediante a Caixa de ferramentas . Cambia o Nome do botón a cmdLookUp , a BackColor a laranxa clara, mantén o tipo de letra Tahoma e cambia o estilo a negriña , finalmente cambia o Petición do botón a Mirar arriba Estudante Detalles como se mostra a continuación.
Paso 6: Insira o código VBA
- Fai clic co botón dereito do rato en , o botón recén engadido e seleccione Ver Código .
- Introduza o seguinte código para o botón evento clic:
9340
Comezamos declarando tres variables e asignando o tipo de datos variante a estas declaradas tipos de datos variantes. O tipo de datos variante é un bo tipo de datos para comezar. Porque ao traballar con folla de traballo funcións , é posible que non sempre estea seguro das saídas. Polo tanto, use o tipo de datos variante, cando estea comezando.
Máis adiante, é recomendable utilizar un dos outros tipos de datos máis específicos como integer ou cadea. Para un código máis avanzado e máis longo, o tipo de datos variante non usa a memoria de forma tan eficiente como os outros tipos de datos.
A variable a debuxa o valor da opción que selecciona o usuario na caixa combinada despregable no Formulario de usuario . Se non hai ningunha selección, todas as outras caixas de texto están baleiras .
Se selecciona un nome de alumno no cadro combinado do Formulario de usuario, , a continuación, a variable b debuxa o valor mediante a función INDEX Folla de traballo en combinación coa función COINCER Función en o código VBA , como se mostra.
Busca o valor usando basicamente a mesma sintaxe que a función da folla de cálculo. Cando se usan funcións de folla de cálculo en VBA , o VBA IntelliSense neste caso particular non é moi intuitivo , polo que está familiarizado conrecoméndase a sintaxe recollida do coñecemento da folla de traballo. A variable c debuxa o valor mediante a INDEX Folla de traballo Función en combinación coa COINCIDENCIA Función no código VBA cando o usuario selecciona unha opción da caixa combinada.
A variable b obtén o valor do xénero columna na folla de traballo, mentres que a variable c obtén o valor da columna Cor de ollos da folla de traballo.
A caixa de texto de xénero está encheda con b valor e a caixa de texto da cor dos ollos enchégase co valor de c .
Ler máis: Eventos de Excel VBA (unha directriz completa)
Paso 7: Insira un botón de comando
- Agora vai á folla de traballo chamada Formulario de usuario no teu libro de traballo. Dá formato , como se mostra a continuación e insire a imaxe proporcionada por ExcelWIKI .
- Ir a Desenvolvedor > Controis > Inserir > Controis ActiveX.
- Inserir un botón como se mostra.
- Co botón seleccionado, vai a Desenvolvedor > Controis > Propiedades .
- Cambia o Nome do botón a cmdShowForm e os Petición a Buscar Información do alumno .
Paso 8: Ver Código de busca
- Prema co botón dereito no botón e seleccione Ver código como se mostraa continuación.
- Introduza o seguinte código:
6821
Paso 9: Mostra o resultado final
- Volve á folla de traballo. Asegúrate de que o Deseño Modo non está marcado.
- Fai clic no botón para mostrar o formulario.
- Seleccione o nome dun alumno mediante o cadro combinado . O código devolverá automaticamente o sexo e a cor dos ollos do alumno.
Lembra gardar o teu libro de traballo como un libro habilitado para macros , se aínda non o fixeches e xa o tes, utilizamos INDEX & MATCH Funcións da folla de traballo no código VBA de Excel para crear un formulario de busca.
Ler máis: Excel INDEX-MATCH Fórmula para devolver varios valores horizontalmente
Conclusión
Excel ten moitas funcións de folla de traballo útiles, que se poden utilizar en VBA , como usar INDEX & MATCH Funcións da folla de traballo no código VBA de Excel. Estas funcións permítenche ampliar o teu código VBA . Se xa sabes como funcionan nun Excel<2 estándar> folla de traballo, entón a curva de aprendizaxe non é tan grande ao adaptar o coñecemento para VBA . Acceder ás funcións da folla de traballo no VBA código pode ser un aforro de tempo real. Porque non hai que desenvolver funcións personalizadas para a funcionalidade que xa está aí.
Por favor, non dubide en comentar e dicirse utiliza funcións da folla de traballo no seu código e aplicacións VBA.
Sección de revisión: proba a súa comprensión
1) Configure unha lista sinxela na columna A de tres elementos, a saber, mandarinas, cenorias e laranxas. , a continuación, na cela situada ao lado de cada elemento da columna B, indique se os elementos da columna A son froitas ou vexetais, unha vez que finalice a configuración dos datos de mostra, use o INDICE & Función de combinación MATCH para ofrecer se as cenorias son froitas ou vexetais.
2) Usa este conxunto de datos de ESPN nos adestradores da NFL e no equipo respectivo ao que adestran. Crea un formulario de usuario que permita a un usuario introducir o nome dun adestrador determinado nunha caixa de texto. A continuación, fai que o equipo que adestra noutro cadro de texto cando o usuario faga clic en enviar. Use INDEX & Combinación de funcións da folla de traballo MATCH dentro do teu código VBA.