RUDYX (Normal User)
Pro
Messaggi: 109
Iscritto: 08/04/2010
|
Un' ultima cosa .....
per quanto riguarda la stringa di codice On Error Resume Next
è molto strano che ti dia errore , controlla bene se effettivamente l'hai inserita subito dopo il comando SUB Trova()
ciao
|
|
trittico69 (Normal User)
Pro
Messaggi: 144
Iscritto: 02/04/2010
|
sempre quando hai tempo ho notato che se ci sono due nomi uguali ribattendo di nuovo il nome mi passa al secondo nome senza colorare la riga
|
|
trittico69 (Normal User)
Pro
Messaggi: 144
Iscritto: 02/04/2010
|
Ti riscrivo qui tutto quello che mi serve in un unico messaggio…quando hai tempo se ti va mi rifai il codice con queste varianti
- se ci sono due nomi uguali ribattendo di nuovo il nome mi passa al secondo nome senza colorare la riga(mi servirebbe che si colorasse)
- se scrivo la parola da cercare in minuscolo o in maiuscolo dovrebbe cercarmela lo stesso ma se non si può fare allora va bene solo in minuscolo!
- se quando clicco cerca e poi enter la finestrella cerca dovrebbe sempre restare attiva e non sparire...non so se si può fare
- se digito una parola che non esiste nell'elenco mi da errore....si può eliminare questo errore in modo da non darmi nulla
- la macro “ricorda” non mi sembra che mi serva infatti sto usando solo “cerca” forse si puo eliminare
|
|
trittico69 (Normal User)
Pro
Messaggi: 144
Iscritto: 02/04/2010
|
Ti riscrivo qui tutto quello che mi serve in un unico messaggio…quando hai tempo se ti va mi rifai il codice con queste varianti
1) se ci sono due nomi uguali ribattendo di nuovo il nome mi passa al secondo nome senza colorare la riga(mi servirebbe che si colorasse)
2) se scrivo la parola da cercare in minuscolo o in maiuscolo dovrebbe cercarmela lo stesso ma se non si può fare allora va bene solo in minuscolo!
3) se quando clicco cerca e poi enter la finestrella cerca dovrebbe sempre restare attiva e non sparire...non so se si può fare
4) se digito una parola che non esiste nell'elenco mi da errore....si può eliminare questo errore in modo da non darmi nulla
5) la macro “ricorda” non mi sembra che mi serva infatti sto usando solo “cerca” forse si puo eliminare
6) Quando faccio la ricerca se non digito il mone intero mi da errore mi servirebbe es:
monica se digito “onic” o "mon" o "nica" mi farebbe comodo se mi evidenziasse lo stesso monica
|
|
RUDYX (Normal User)
Pro
Messaggi: 109
Iscritto: 08/04/2010
|
oK , Vedrò quello che si può fare .......................
|
|
RUDYX (Normal User)
Pro
Messaggi: 109
Iscritto: 08/04/2010
|
Ecco qua!
Dato che le richieste sono un po di più di quanto avevi detto inizialmente bisognerebbe creare un Form con alcuni controlli .
1) Creare una form e chiamala FRM
2) Inserisci all'interno della form un controllo TextBox e chiamalo TXT_Trova
3) Inserisci all'interno della form un controllo CommandButton e chiamalo CMD_Trova
Poi inserisci questa sezione di codice :
Codice sorgente - presumibilmente VB.NET |
Private Sub cmd_trova_Click() Dim Trv As Boolean Dim C, R, Att_R, Att_c, Max_r, Max_c, Trv_r, Trv_c As Long Max_r = 2000 ' variabile di dimensionamento max di righe Max_c = 10 ' variabile di dimensionamento max di colonne Att_c = ActiveCell.Column Att_R = ActiveCell.Row Range(ActiveCell.Row & ":" & ActiveCell.Row).Select Selection.Interior.ColorIndex = xlNone Trv = False frm.cmd_trova.Visible = False DoEvents For C = Att_c To Max_c For R = Att_R + 1 To Max_r If InStr(1, UCase(Range(Chr(64 + C) & R).Value), UCase(frm.txt_trova.Text)) > 0 Then Trv = True Trv_c = C Trv_r = R C = Max_c R = Max_r End If Next R Next C If Trv = False Then For C = 1 To Att_c For R = 1 To Att_R If InStr(1, UCase(Range(Chr(64 + C) & R).Value), UCase(frm.txt_trova.Text)) > 0 Then Trv = True Trv_c = C Trv_r = R C = Max_c R = Max_r End If Next R Next C End If frm.cmd_trova.Visible = True If Trv = False Then MsgBox "Non trovato" Else Range(Chr(64 + Trv_c) & Trv_r).Select Range(ActiveCell.Row & ":" & ActiveCell.Row).Select Selection.Interior.ColorIndex = 3 Range(Chr(64 + Trv_c) & Trv_r).Select End If End Sub
|
|
|
RUDYX (Normal User)
Pro
Messaggi: 109
Iscritto: 08/04/2010
|
Poi dovresti inserire un MODULO (come hai fatto già)
e inserisci questa sezione di codice :
Codice sorgente - presumibilmente Visual Basic 6 |
Sub apri()
frm.Show
End Sub
|
Ultima modifica effettuata da RUDYX il 10/04/2010 alle 16:45 |
|
RUDYX (Normal User)
Pro
Messaggi: 109
Iscritto: 08/04/2010
|
Infine andare in Excel , creare un Oggetto (rettangolo - ovale ecc. ecc. come hai fatto già) e abinarci la SubRoutine <APRI>
A questo punto la puoi eseguire e vedere come va.
|
|