Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Giorgio,
Ho creato un documento excel ed ho inserito delle caselle di testo per indicare dei nominativi secondo delle finalità del documento creato.
Vorrei sapere come cercare un nominativo specifico all'interno delle varie caselle di testo senza dover scorrere tutto il documento.
Premetto che con la funzione preimpostata di excel non trova nulla.
Prova qualcosa del genere:
- Alt+F11 per aprire l'editor di VBA
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'========>>
Option Explicit
'-------->>
Public Sub Cerca_Caselle()
Dim rStart As Range
Dim Tbox As TextBox
Dim sTrova As String
Dim sTesto As String
Dim Res As VbMsgBoxResult
sTrova = InputBox("Trova che testo?")
If Trim(sTrova) = vbNullString Then
Call MsgBox(Prompt:="Non hai indicato nessun testo", \_
Buttons:=vbInformation, \_
Title:="PROBLEMA!")
Exit Sub
End If
Set rStart = ActiveCell
For Each Tbox In ActiveSheet.TextBoxes
sTesto = Tbox.Text
If InStr(LCase(sTesto), LCase(sTrova)) <> 0 Then
Tbox.Select
Res = MsgBox( \_
Prompt:=Tbox.Name & ":" & vbNewLine & \_
sTesto & vbNewLine & vbNewLine & \_
"Vuoi continuare la ricerca?", \_
Buttons:=vbYesNo, Title:="CONTINUARE?")
If Res <> vbYes Then
Exit Sub
End If
End If
Next Tbox
Call MsgBox(Prompt:="Nessun'altra istanza di " & sTrova & " trovata!", \_
Buttons:=vbInformation, \_
Title:="REPORT")
rStart.Select
End Sub
'<<========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel.
- Salva il file con l'estensione xlsm
Ora, per fare la ricerca del testo di interesse:
- Alt+F8 per aprire la finestra di gestione delle macro
- Seleziona Cerca_Caselle
- Esegui
Potresti scaricare il mio file di prova Giorgio20211129.xlsm
Per evitare problemi causati dall'attuale editor del Forum, che inserisce righe vuote indesiderate nel codice vba, copiare il codice direttamente dal mio file di prova.
===
Regards,
Norman