Excel VBA: ricerca di testo

June 15

Imparare a trovare il testo con il linguaggio di programmazione di Excel, VBA o Visual Basic, Applications Edition, è utile per diverse situazioni, tra cui i seguenti. Qualcuno sta scrivendo un elenco di indirizzi postali, ma solo alcuni indirizzi sono validi. Un'altra parte della cartella di lavoro ha questi indirizzi validi. Il comando di VBA "Find" può cercare questi una volta tipi un utente un indirizzo. Se "Trova" non trovare l'indirizzo nella lista, il programma VBA può avvisare il dattilografo a un indirizzo non valido. L'accesso VBA dalla scheda Sviluppo di Excel. Se tale scheda non viene visualizzata, potrebbe essere necessario verificare le opzioni di Excel per attivare il suo display.

macro

Un modo semplice per capire come trovare il testo con VBA è quello di utilizzare il registratore di macro di Excel per creare le dichiarazioni di VBA dall'uso di comando "Find" della scheda "Home". Digitare del testo in una cella del foglio di lavoro, come ad esempio "abc", quindi fare clic su qualsiasi altra cella. Fare clic sul pulsante "Registra" della scheda "Sviluppatore", quindi premere i tasti "F" "Control" e, contemporaneamente, per visualizzare la finestra di dialogo "Trova" del programma. Digitare alcuni caratteri del testo digitato nella cella. Fai clic su "Trova" per spostarsi alla cella, quindi fare clic sul pulsante "Stop registrazione" nella scheda "Sviluppatore" per terminare la registrazione di macro.

Leggendo le istruzioni macro

Dopo aver registrato una macro VBA per la ricerca di testo, iniziare a capire come funziona leggendo le sue dichiarazioni di programmazione. Visualizzare l'elenco di macro nella cartella di lavoro corrente facendo clic sul pulsante "Macro" della scheda "Sviluppatore", quindi facendo clic sul nome della macro-testo la ricerca. Ad esempio, fare clic "TextFinder" se questo è il nome della macro, quindi fare clic sul pulsante "Modifica" per visualizzare le istruzioni di programmazione VBA per "TextFinder."

La funzione Trova

VBA cerca testo nelle celle del foglio di lavoro corrente con la funzione "Trova", che è un membro della collezione "Cellule". Questa collezione rappresenta le celle del foglio di lavoro corrente. È possibile ottenere una buona comprensione degli argomenti di questa funzione ha bisogno esaminando le dichiarazioni di una macro che cerca per il testo. Se avete registrato una macro che cerca il testo "abc", la macro apparirà qualcosa di simile al seguente:

Sub FindText ()

Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _

xlPart, SearchOrder: = xlByRows, SearchDirection: = xlNext, matchcase: = False _

, SearchFormat: = False) .Activate

End Sub

Argomenti

Il "Che" argomento del comando VBA "Trova" che cerca per il testo, detiene il testo che si desidera cercare. Excel ricerca di qualsiasi testo specificato per questo argomento. "Quello che" è l'unico argomento che il "Trova" comando richiede. Tutti gli altri argomenti sono opzionali. È quindi possibile cercare il testo "abc", per esempio, con il "Cells.Find (Cosa: =" istruzione abc ").. Attivare Se avete bisogno di" trovare "per abbinare un caso specifico, al" "del testo Che, indicano che impostando l'argomento "matchcase" su "true". Questo argomento è "false" per impostazione predefinita.

Valore di ritorno e di navigazione

Il "Trova" di comando per la ricerca di testo con VBA non passare automaticamente a tutte le celle che contengono il testo che si sta cercando. Per fargli fare così, utilizzare il metodo "Attiva" del valore di ritorno da "Trova". Questo valore di ritorno è un oggetto "Range" che rappresenta le celle in cui "Trova" ha trovato il testo che stavi cercando. Ad esempio, se hai cercato "abc" con "Trova", e una sola cella aveva quel testo, il valore restituito da "Trova" sarebbe un intervallo di cella singola. Esecuzione funzione "Attiva" di quella cella farà quella cella la cella attiva.