Taula de continguts
La implementació de VBA és el mètode més eficaç, ràpid i segur per executar qualsevol operació a Excel. En aquest article, us mostrarem com comprovar si una cadena conté una altra cadena a Excel mitjançant VBA .
Descarregueu la plantilla de pràctica
Vostè podeu descarregar la plantilla d'Excel de pràctica gratuïta des d'aquí.
VBA per comprovar si la cadena conté Value.xlsm
6 Mètodes a VBA per comprovar si la cadena conté una altra cadena a Excel
A continuació, en aquesta secció, trobareu 6 mètodes efectius sobre com implementar VBA per comprovar si una cadena conté una altra cadena o no .
1. VBA per comprovar si la cadena conté una subcadena
A continuació es mostra un exemple de la funció InStr per trobar si una cadena conté una subcadena a Excel.
Passos:
- Premeu Alt + F11 al teclat o aneu a la pestanya Desenvolupador -> Visual Basic per obrir Visual Basic Editor .
- A la finestra de codi emergent, des de la barra de menú , feu clic a Insereix -> Mòdul .
- A la finestra del codi, copieu el codi següent i enganxeu-lo.
2786
El vostre El codi ja està a punt per executar-se.
- Executeu la macro.
Si la vostra cadena conté la subcadena , obtindreu una coincidència trobada, en cas contrari, no retornarà cap coincidència.
En el nostre exemple , volíem esbrinar si el nostreLa cadena principal " Pel·lícula: Iron Man, Batman, Superman, Spiderman, Thor " conté la paraula " Hulk " o no. Com que no ho fa, obtenim un resultat No s'ha trobat la pel·lícula .
2. VBA per comprovar si la cadena conté nombre
Podeu cercar si les cadenes contenen nombres o no utilitzant el codi VBA .
Mireu l'exemple següent on trobarà quines cadenes contenen números amb els noms de les pel·lícules.
A continuació es donen els passos per comprovar si les cadenes contenen números amb VBA .
Pasos:
- De la mateixa manera que abans, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix un Mòdul a la finestra del codi.
- A la finestra del codi, copieu el codi següent i enganxeu-lo.
7798
- Això no és un Subprocediment perquè el programa VBA s'executi, això és crear una Funció definida per l'usuari (UDF), a la qual cridarem al nostre full de treball per executar la tasca. Per tant, després d'escriure el codi, en comptes de fer clic al botó Executar , feu clic al botó Desa de la barra de menú per desar el fitxer de macro.
- Ara torneu enrere. al full de treball d'interès i escriviu la funció definida per l'usuari que acabeu de crear al codi VBA ( SearchNumber , a la primera línia del codi) i dins dels claudàtors de la funció , introduïu el número de referència de la cel·la de la cadena que té números inicials (p. ex., Cel·laB5 ).
- Premeu Retorn .
Obtràu un valor booleà ( TRUE o Fals ), si la cadena de la cel·la conté números, obtindreu VERTADER , en cas contrari FALS .
- Arrossegueu la cel·la cap avall per Emplenar la maneta per aplicar la fórmula a la resta de cel·les per comprovar quina cadena conté números i quina no.
3. VBA per extreure números de la cadena
A la secció anterior, aprenem a comprovar si la cadena conté nombres o no. I en aquesta secció, aprendrem a extreure aquests nombres i col·locar-los en una altra cel·la amb l'exemple que es mostra a continuació.
Passos per comprovar si les cadenes contenen nombres i extreure'ls. amb VBA es mostren a continuació.
Pasos:
- Obre Visual Basic Editor des del Pestanya Desenvolupador i Insereix un Formulari d'usuari aquesta vegada des de la pestanya Insereix a la finestra del codi.
- Des de la Caixa d'eines que apareix, arrossegueu i deixeu anar CommandButton al UserForm .
- Feu doble clic a a la botó, copieu el codi següent i enganxeu-lo.
2920
- Executeu el codi i us portarà al full de treball d'interès.
- Feu clic al botó d'ordres i obtindreu el número extret de les cadenes.
4. VBA per comprovar si la cadena conté certa lletra
Aquest mètode és gairebésimilar al mètode per comprovar la subcadena en una cadena.
A continuació es mostra la funció InStr per trobar si una cadena conté una lletra determinada a Excel.
Passos :
- De la mateixa manera que abans, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix a Mòdul a la finestra del codi.
- A la finestra del codi, copieu el codi següent i enganxeu-lo.
2393
El vostre codi ja està a punt per executar-se.
- Executeu el programa. Si la vostra cadena conté la lletra , obtindreu una coincidència, en cas contrari, no retornarà cap coincidència.
En el nostre exemple , volíem esbrinar si la nostra cadena principal " Pel·lícula: Iron Man, Batman, Superman, Spiderman, Thor " conté la lletra " Z ” o no. Com que no ho fa, obtenim un resultat Carta no trobada .
5. VBA per comprovar si un rang de cadena conté una altra cadena
Hem après com comprovar si una cadena determinada conté una altra cadena o no. Però en aquesta secció, aprendrem a comprovar si un rang de cadenes conté subcadenes o no amb el conjunt de dades següent com a exemple.
Passos:
- Obre Visual Basic Editor des de la pestanya Desenvolupador i Insereix un mòdul a la finestra del codi .
- A la finestra del codi, copieu el codi següent i enganxeu-lo.
4170
El vostre codi ja està preparat perexecuteu.
- Executeu el codi.
Si el vostre L'interval de cadena conté la subcadena i obtindreu una coincidència trobada, en cas contrari, no retornarà cap coincidència.
6. VBA per extreure cadenes de cadena
En aquesta secció, veurem com comprovar si les cadenes contenen determinades subcadenes i extreure-les d'una altra cel·la.
Extreurem la informació de la cadena. noms que comencen per “ Chris ” del conjunt de dades següent.
Passos :
- Obre Visual Basic Editor des de la pestanya Desenvolupador i Insereix un mòdul a la finestra del codi.
- A la finestra del codi, copieu el codi següent i enganxeu-lo.
5340
El vostre codi ja està a punt per executar-se.
- Executeu el codi.
Només els noms que comencen per “ Chris ” s'emmagatzemarà a les cel·les predefinides.