VBA per comprovar si String conté una altra cadena a Excel (6 mètodes)

  • Comparteix Això
Hugh West

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.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.