Condividi:        

errore necessario oggetto

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

errore necessario oggetto

Postdi trittico69 » 16/03/11 13:19

ho questo codice in un file excel abbinato a una usefrom....ho creato un altro foglio che si chiama "nomi" e ho spostato tutto in quest'ultimo ma quando richiamo la macro la userfrom esce, poi inserisco il nome da cercare e premendo "enter" mi da "errore necessario oggetto"...cosa che nel foglio dov'era prima non mi dava...

dove sbaglio?

grazie!

Codice: Seleziona tutto
Sub trova1()
If userform1.Visible = False Then userform1.Show False
End Sub


Codice: Seleziona tutto
 

Dim ricerca As Range 'questo codice serve a creare il tasto cerca per non usare il binocolo e finisce a fine3
Private Sub CommandButton1_Click()
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Text)
If ricerca Is Nothing Then
Set ricerca = nomi.Cells.Find(TextBox1.Text)
Else
Set ricerca = nomi.Cells.Find(TextBox1.Text, nomi.Cells(ricerca.Row, ricerca.Column))
End If
If ricerca Is Nothing Then Exit Sub
ricerca.Select
End Sub
Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub

Private Sub UserForm_initialize()
CommandButton1.Caption = "trova": CommandButton1.Accelerator = "T": CommandButton1.Default = True
userform1.Caption = "cerca"
End Sub 'fine3

trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Sponsor
 

Re: errore necessario oggetto

Postdi Anthony47 » 16/03/11 15:27

Dovresti pero', per cominciare, dire in quali circostanze e su quale riga hai l' errore.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: errore necessario oggetto

Postdi trittico69 » 16/03/11 16:18

mi evidenzia questa riga
Set ricerca = nomi.Cells.Find(TextBox1.Text)
le circostanze le ho detto prima
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Re: errore necessario oggetto

Postdi trittico69 » 16/03/11 16:38

forse ho capito...nel foglio di prima non c'erano formule..... in quello attuale invece si...si dovrebbe modivicare il codice che trovi solo i nomi e non le formule...penso sia questo....ci mi aiuta?
grazie!
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Re: errore necessario oggetto

Postdi Anthony47 » 16/03/11 20:58

Set ricerca = nomi.Cells.Find(TextBox1.Text)
Con quella sintassi puoi far riferimento solo ai "CodeName" dei fogli (vedi l' help on line del vba, voce Proprietà CodeName).
Non conoscendo il CodeName del foglio ti suggerisco l' uso di
Codice: Seleziona tutto
Set ricerca = Sheets("nomi").Cells.Find(TextBox1.Text)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: errore necessario oggetto

Postdi trittico69 » 17/03/11 11:48

fatto non mi da più errore ma mi cerca solo nelle formule e non i nomi
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Re: errore necessario oggetto

Postdi Anthony47 » 17/03/11 12:51

Per il nuovo quesito:
Tu hai un file, dei dati, una userform, delle macro, una procedura operativa.
A noi dai un pezzo di macro e poi dici "mi cerca solo nelle formule e non i nomi".

Se questo fosse un forum sull' occulto probabilmente sarebbe anche inutile scrivere il tipo di errore; ma questo e' un forum di informatica e purtroppo per inquadrare un problema ci servirebbero piccoli dettagli ulteriori, ma non vorrei ricriticare l' abitudine di prendere il codice a destra e farselo aggiustare a sinistra.
Comunque, tanto per proporre, forse devi specificare "lookin" nelle istruzioni Find; es
Codice: Seleziona tutto
Set ricerca = Sheets("nomi").Cells.Find(TextBox1.Text,, xlValues)
(anche nella Else)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: errore necessario oggetto

Postdi trittico69 » 17/03/11 13:07

l'ho modificato così
Codice: Seleziona tutto
Dim ricerca As Range 'questo codice serve a creare il tasto cerca per non usare il binocolo e finisce a fine3
Private Sub CommandButton1_Click()
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Text)
If ricerca Is Nothing Then
Set ricerca = Sheets("nomi").Cells.Find(TextBox1.Text, , xlValues)
Else
Set ricerca = Sheets("nomi").Cells.Find(TextBox1.Text, Sheets("nomi").Cells(ricerca.Row, ricerca.Column))
End If
If ricerca Is Nothing Then Exit Sub
ricerca.Select
End Sub
Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub

Private Sub UserForm_initialize()
CommandButton1.Caption = "trova": CommandButton1.Accelerator = "T": CommandButton1.Default = True
userform1.Caption = "cerca"
End Sub 'fine3

sembra funzionare
mi spieghi cosa vuol dire "anche nelle esle"?
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Re: errore necessario oggetto

Postdi Anthony47 » 17/03/11 13:19

Codice: Seleziona tutto
Else
Set ricerca = Sheets("nomi").Cells.Find(TextBox1.Text, Sheets("nomi").Cells(ricerca.Row, ricerca.Column), xlValues)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: errore necessario oggetto

Postdi trittico69 » 17/03/11 16:03

quindi avevo fatto bene!
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41

Re: errore necessario oggetto

Postdi Anthony47 » 17/03/11 19:46

No, non lo avevi fatto; e quindi forse lo devi ancora applicare al tuo codice.
Si tratta della riga dopo quella che hai modificato, cioe' la componente Else della If.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: errore necessario oggetto

Postdi trittico69 » 17/03/11 23:24

ok adesso ho capito..grazie!
trittico69
Utente Senior
 
Post: 497
Iscritto il: 16/08/09 18:41


Torna a Applicazioni Office Windows


Topic correlati a "errore necessario oggetto":


Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti