Encontrar un solo carácter en una cadena utilizando VBA es un caso especial de encontrar una cadena dentro de otra . El proceso se utiliza una sola palabra Visual Basic, InStr , que busca en el texto de una cadena específica , o solo carácter en este ejemplo. Se necesita el resto del código para permitir la entrada del usuario y mostrar los resultados . El proceso utiliza un método de búsqueda entre mayúsculas y minúsculas , es decir , se encuentra en minúsculas o mayúsculas . Instrucciones
1
abrir uno de los programas de Microsoft Office que utilizan VBA (Visual Basic para Aplicaciones ) y ya contienen algún texto. Haga clic en " Developer " en el menú superior y luego en " Visual Basic ", que se muestra en la segunda fila de opciones . Se abrirá la pantalla de edición de VBA .
2
Escriba las líneas siguientes en la ventana en blanco.
Sub FindCharacter () Dim KnownString , SoughtCharacter , encuentran como StringDim Ubicación , i, ajuste según sea IntegerKnownString = InputBox ( " Escriba o copie y pegue el texto a buscar aquí ") SoughtCharacter = InputBox ( " Escriba el personaje busca en este caso ") Ubicación = InStr ( 1 , KnownString , SoughtCharacter , vbTextCompare ) Ajuste = 10 Para i = 1 To Len ( KnownString ) Si la ubicación < Ajuste ThenAdjust = Ajuste /5End IFIF i = Lugar ThenFound = Mid ( KnownString , Ubicación - Ajustar, Location + Adjust ) MsgBox "Esta es la primera aparición de " & vbCrLf y SoughtCharacter y , " en su contexto " & vbCrLf & " " & Found & "' " End Sub IfNext iEND
3
Reducir el lado derecho de la siguiente línea si la búsqueda de un personaje en segmentos muy cortos de texto :
Ajuste = 10
hacer esto porque el proyecto está configurado para mostrar un número predeterminado de caracteres a cada lado de la codiciada carácter . Si la cadena es demasiado corta , el programa producirá un error.
4 Haga clic en " Macros " en la sección Developer del documento de Word y ejecutar esta macro para ver cómo funciona. Si la macro no funciona, vuelva a revisar el trabajo de las indicaciones anteriores.