› Sviluppare funzionalita su Microsoft Office con VBA › Ricerca celle
-
AutoreArticoli
-
Buongiorno, chiedo cortesemente un aiuto per risolvere un problema. Dovrei ricercare dei dati numerici all'interno di un range e evidenziarli tramite un colore, il tutto in VBA. Mi spiego meglio, all'interno del range B2;I45 ho una serie di numeri dallo zero a 120 in ordine sparso. Necessito quindi di una casella di testo dove inserire il numero, o meglio ancora più numeri contemporaneamente da ricercare e una volta trovati, le celle si devono colorare di giallo. Mi serve quindi un pulsante di input per la ricerca e uno per resettare il colore delle celle per una successiva ricerca. Uso Excel 2010.
Ringrazio fin da ora per il Vostro interessamento.
Claudio
Perchè i numeri da cercare li vuoi mettere in una casella di testo?
Se mettessi ogni numero in una cella sarebbe tutto più semplice.
Si deve impostare un doppio ciclo For il primo sui numeri da cercare ed il secondo sul range dove devono essere trovati ossia B2:I45
Alfredo
A me piace più l'idea di alfrimpa, basta riservare una colonna ai numeri da cercare, comunque sarebbe utile un file di esempio con i tuoi dati e i tentativi di macro.
Buon giorno a tutti
Sicuramente ho capito male, ma perchè in VBA?
Diciamo che i numeri che vuoi cercare sono in un ben definito intervallo mentre in un altro intervallo (righe, colonne) vi è (chiamiamola tabella) dei numeri che vuoi confrontare.
Non pensi possa essere sufficiente una Formattazione condizionale?
Ciao,
Mario
Concordo in pieno con @marius44 (che saluto)
A volte le soluzioni più semplici sono le migliori!!
Paolo
Paolo il concetto di "semplicità" è molto relativo
Io con la formattazione condizionale ci faccio a cazzotti mentre la macro che vedi sotto l'ho scritta in 30 secondi
Supponendo che i valori da cercare siano da A1 ad A3
Sub Evidenzia() Dim rng As Range Dim rng2 As Range Dim cel As Range Dim cel2 As Range Set rng = Range("A1:A3") Set rng2 = Range("B2:I45") For Each cel In rng For Each cel2 In rng2 If cel.Value = cel2.Value Then cel2.Value.Interior.ColorIndex = 6 End If Next cel2 Next cel End Sub
Alfredo
Salve a tutti
Se l'intervallo dei numeri da individuare è in $B$2:$G$2 e quello dove individuare è in $B$4:$G$20 con questa formula in FC =CONTA.SE($B$2:$G$2;B4)>=1 riportando in Si applica a il secondo intervallo, è tutto risolto.
Ciao,
Mario
Allegati:
You must be logged in to view attached files.Buona sera a Tutti.
Chiedo scusa ma vorrei proporre alcune precisazioni.- Non vedo alcun riferimente da parte dell'Utente sulla possibilità dell'utilizzo di una "Colonna d'appoggio"
- Nel caso in cui i Valori da valutare siano solo tre è preferibile utilizzare "Formattazione condizionale"; vedi immagine in allegato.Ovviamente avrei apprezzato le precisazioni da parte dell'Utente; pazienza.
Giuseppe
Allegati:
You must be logged in to view attached files. -
AutoreArticoli