Comment trouver un caractère dans une chaîne en VBA

Trouver un seul caractère dans une chaîne en utilisant VBA est un cas particulier de trouver une chaîne dans une autre. Le processus lui-même utilise un seul mot Visual Basic, InStr, qui recherche texte pour une chaîne spécifique, ou un caractère unique dans cet exemple. Le reste du code est nécessaire pour permettre l'entrée de l'utilisateur, et afficher les résultats. Le processus utilise une recherche dologie insensible à la casse qui est, il va trouver des lettres minuscules ou majuscules.

Instructions

  1. 1

    Ouvrez l'un des programmes Microsoft Office qui utilisent VBA (Visual Basic for Applications) et contiennent déjà un texte. Cliquer sur "Promoteur" dans le menu du haut, puis "Visual Basic," qui seront inscrits dans la deuxième rangée d'options. Cela ouvre l'écran d'édition VBA.

  2. 2

    Entrez les lignes suivantes dans la fenêtre vierge.




    Sous FindCharacter ()
    Dim KnownString, SoughtCharacter, Trouvé As String
    Dim Lieu, i, réglez As Integer
    KnownString = InputBox ("Tapez ou copiez et collez le texte à rechercher ici")
    SoughtCharacter = InputBox ("Tapez le caractère recherché ici")
    Lieu = InStr (1, KnownString, SoughtCharacter, vbTextCompare)
    Réglez = 10
    Pour i = 1 Pour Len (KnownString)
    Si Localisation lt; Réglez ensuite
    Réglez = Ajuster / 5
    End If
    Si i = Lieu Puis
    Trouvé = Mid (KnownString, Lieu - Ajuster, Lieu + Réglez)
    MsgBox "Ceci est la première occurrence de " & vbCrLf & SoughtCharacter & " Dans le contexte" & vbCrLf & "'" & Trouvé & "'"
    End If
    I Suivant
    End Sub

  3. 3

    Réduire le côté droit de la ligne suivante si la recherche d'un personnage dans des segments très courts de texte:




    Réglez = 10

    Pour ce faire, parce que le projet est configuré pour afficher un numéro de défaut de caractères de chaque côté du caractère recherché. Si la chaîne est trop court, le programme va produire une erreur.

  4. 4

    Cliquer sur "Macros" dans la section développeur du document Word et exécuter cette macro pour voir comment cela fonctionne. Si la macro échoue, vérifiez votre travail à partir des indications ci-dessus.

Conseils & Avertissements

  • Améliorer le programme en offrant à l'utilisateur une option de continuer à chercher l'aide d'un MsgBox pour inciter à une phrase comme, "Continuer la recherche?" et les boutons de réponse par défaut "Oui Non." Ajouter une routine dans le code pour augmenter le nombre de Situation de passer de la première, et de répéter la même recherche.
  • Ce code fonctionne aussi bien de rechercher des mots plutôt que d'un seul caractère.
  • Vous pouvez avoir besoin de bricoler avec le nombre de lettres de texte environnant pour répondre à vos besoins.
  • Le plus court la chaîne recherchée, le plus probable de la "Dans le contexte" affichage sera trop abrégé. D'autre part, vous ne voulez pas trop de texte environnant pour montrer, il est donc une question de jugement.
» » » » Comment trouver un caractère dans une chaîne en VBA