Oppure

Loading
08/04/10 15:07
trittico69
in una rubrica excel cercando un nome con”cerca” una volta trovato il nome si posso evidenziare in automatico più celle in corrispondenza del nome? Es: colora rosso da A1 ad A5 della riga del nome trovato e poi cercando il secondo nome la riga di prima ridiventa bianca e il rosso passa al nome successivo…
aaa
08/04/10 15:20
davifumi89
Stai utilizzando le macro VBA per farlo???

Cmq la funzione ke colora è:

Foglio1.Cells(riga, colonna).Interior.ColorIndex = qui metti il codice del colore (es: 2 per il bianco, 3 per il rosso)
Ultima modifica effettuata da davifumi89 08/04/10 15:21
aaa
08/04/10 17:00
trittico69
non funziona...comunque non so se hai capito.... mi serve colorare la riga del nome trovato con cerca e trovando il nome successivo il primo dome deve ritornare bianco com'era prima e la riga dove si trova il secondo nome trovato deve diventare colorata
aaa
08/04/10 20:44
RUDYX
Ciao , potresti provare con questa sezione di codice
ovviamente dove c'è scritto "CASA" dovresti mettere il riferimento alla stringa da cercare, (anche con un Inputbox per. es.)
Se non ho capito male vuoi selezionare la riga intera o un gruppo di caselle , prova il codice poi magari mi fai sapere .........

Cells.Find(What:="CASA", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
Selection.Interior.ColorIndex = 3

If Range("AA1";).Value <> ActiveCell.Row Then
Range(Range("AA1";).Value & ":" & Range("AA1";).Value).Select
Selection.Interior.ColorIndex = xlNone
Cells.FindNext(After:=ActiveCell).Activate
End If
Cells.FindNext(After:=ActiveCell).Activate
Range("AA1";).FormulaR1C1 = ActiveCell.Row
Range("AA2";).FormulaR1C1 = ActiveCell.Column
aaa
09/04/10 1:11
trittico69
non ho capito che stringa devo mettere al posto di casa...e il codice se va in visual basic o dove
aaa
09/04/10 15:29
RUDYX
Ok Ok ..........

Allora :
Dovresti prima aprire la cartella in Excel che ti interessa (sarebbe bene che tu ne facessi una copia .... non si sa mai!!!)

Poi dovresti andare nella sezione VBA , cioè da Excel --> Strumenti - Macro - Visual Basic Editor,
qui dovresti inserire un Modulo

e copiarci tutto questo codice :

Sub Trova()
Cells.Find(What:=Mid(Range("AA2";).Value, 2), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
Selection.Interior.ColorIndex = 3

If Range("AA1";).Value <> "" And Range("AA1";).Value <> ActiveCell.Row Then
Range(Range("AA1";).Value & ":" & Range("AA1";).Value).Select
Selection.Interior.ColorIndex = xlNone
Cells.FindNext(After:=ActiveCell).Activate
End If
Cells.FindNext(After:=ActiveCell).Activate
Range("AA1";).FormulaR1C1 = ActiveCell.Row
'Range("AA2";).FormulaR1C1 = ActiveCell.Column

End Sub
Sub RICORDA()
Dim STR As String
STR = InputBox("IMMETTERE LA STRINGA DA CERCARE";)
Range("AA2";).FormulaR1C1 = "X" & STR
Call Trova
End Sub


Poi in Excel dovresti creare 2 oggetti-forme (rettangoli o ovali vanno bene) cioè un qualcosa per poterci abbinare le sue Subroutines che hai appena inserito nel modulo

La 1°;) si chiama Trova (che esegue effettivamente la ricerca)
La 2°;) si chiama Ricorda (che serve a ricordare e a eventualmente a cambiare il testo da ricercare)

Infine esegui <<RICORDA>> ogni volta che vuoi inserire un testo da ricercare
e esegui <<TROVA>> quante volte lo desideri.

Fammi sapere ...........................


Ultima modifica effettuata da RUDYX 09/04/10 16:16
aaa
09/04/10 17:27
trittico69
come si abinano le macro alle forme? mi dici passo passo...grazie
aaa
09/04/10 17:36
trittico69
ci sono riuscito ma mi da errore 91 variabile oggetto o variabile del blocco with non impostata e mi evidenzia questo
Cells.Find(What:=Mid(Range("AA2";).Value, 2), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
aaa