metodo Find



  • metodo Find
    di Textomb data: 25/10/2012 21:10:57

    Salve a tutti.
    scrivo codice in vba da pochi mesi e pertanto non ho molta esperienza ma da quando lo uso non posso più farne ammeno.
    il mio problema è banale ma lo sarà ancora di più quando conoscerò la soluzione.
    all'interno di un foglio di lavoro con migliaia di dati in righe e colonne devo trovare solo le celle contrassegnate da un colore di fondo ben preciso. Questo al fine di individuare l'esatta ubicazione e poterla utilizzare successivamente.
    pensavo di utilizzare il metodo Find ma non so cosa dirgli nella proprietà what:=
    spero di essere stato chiaro.
    grazie mille...
     
    Sub macrh()
    Dim calcoli As Worksheet
    Set calcoli = Worksheets("calcoli")
    calcoli.Range("a1").CurrentRegion.Find what:=".....????" ' come faccio a chiedergli di trovare le celle con il colore di fondo?
    End Sub
    



  • di Vecchio Frac data: 25/10/2012 21:33:47

    Find non fa al caso tuo in questo contesto.
    Il parametro What indica il contenuto che si può ricercare, non un formato di cella.

    Per quello che cerchi tu devi guardare cosa fa e come si usa FindFormat:

    Application.FindFormat.Interior.ColorIndex = 3
    (cerca una cella di colore rosso)





  • di Vecchio Frac data: 25/10/2012 21:48:21

    Bè mi correggo ^_^
    FindFormat si usa insieme a Find.
    Vedi esempio costruito per te per farmi perdonare :P
    L'esempio seleziona la prima cella rossa che trova nel range selezionato.
    Ti lascio costruire il codice per ciclare all'interno di tutte le celle rosse del range (la Guida è completa su questo punto comunque).
     
    Sub macrh()
    Dim c As Worksheet
        
        Application.FindFormat.Interior.ColorIndex = 3
        
        Set calcoli = Worksheets("calcoli")
        Set c = calcoli.[A1].CurrentRegion.Find(what:="", searchformat:=True)
    
        If Not c Is Nothing Then c.Select
    
    End Sub






  • di Textomb (utente non iscritto) data: 25/10/2012 22:01:54

    Grazie mille per la celere ed esaustiva risposta...
    in effetti non ho il tempo stasera di verificarne l'effetto. Ma mi sento lo stesso soddisfatto.
    Avevo trovato qualcosa nella guida ma solo dopo che avevo postato...