Condividi:        

Cerca verticale valore cella

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

Re: Cerca verticale valore cella

Postdi Flash30005 » 14/02/10 19:39

Ok allora visto che varia anche la quantità dei numeri da trovare, oltre che colonne e righe
Inserisci In K2 il valore 10 (K1 testata = "N. da Trovare")
e sostituisci la macro precedente con questa
Codice: Seleziona tutto
Sub trovaVal()
Range("G8:P8").ClearContents
UE = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
Area = Worksheets("Foglio2").Range("A2:AX" & UE)
valore = Range("F8").Value
If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If
If [J2] = "" Then
MsgBox "digitare inizio riga"
Range("J2").Select
GoTo Fine
End If
If [K2] = "" Then
MsgBox "digitare Numeri da trovare"
Range("K2").Select
GoTo Fine
End If
Inizio = [J2]
For RR = Inizio To UE
    For CC = 1 To [I2]
        If Worksheets("Foglio2").Cells(RR, CC).Value = valore Then
        Cells(8, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value
        TR = TR + 1
        If TR = Range("K2").Value Then GoTo esci
        End If
    Next CC
Next RR
esci:
Fine:
End Sub

Fai attenzione, io ho ancora il foglio dove i dati venivano riportati nella riga 8 da G verso destra e utilizzavo le prime due righe come configurazione, sta a te ora adattare le varie celle, spostando gli indirizzi secondo la tua esigenza.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: Cerca verticale valore cella

Postdi tony61 » 14/02/10 22:01

Grazie mille tutto ok


ciao
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi tony61 » 14/05/10 13:09

Con questo annullo il post precedente -Valore a destra e sinistra -


Cells(1, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value

Ciao a tutti devo trovare il valore a destra e a sinistra come posso modificare
Cells(RR - 1, CC). se metto -1 mi trova il numero sopra del valore presente in F1
Cells(RR + 1, CC). se metto +1 mi trova il numero sotto del valore presente in F1

come faccio a chiedere alla macro di metterli entrambi
in più devo aggiungere il numero a destra e a sinistra del valore di ricerca in F1?

Cells(RR + 1, CC). come va variata x destra e sinistra


..............................................................................................................

Dimenticavo un pezzo in questo caso mi analizza i dati
dalle colonne da 1 a 50 ,posso scegliere da 1 a 20
oppure da 1 a 30

If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If

se voglio analizzare le colonne da 16 a 25
esem: Genova e Milano come vario If [I2] > 50 Or [I2] = 0 Then
mettendo in H2 l'inizio colonne e in I2 il termine colonne ricerca

sempre se e possibile

grazie mille
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi tony61 » 15/05/10 07:46

Flash30005 ha scritto:Ok allora visto che varia anche la quantità dei numeri da trovare, oltre che colonne e righe
Inserisci In K2 il valore 10 (K1 testata = "N. da Trovare")
e sostituisci la macro precedente con questa
Codice: Seleziona tutto
Sub trovaVal()
Range("G8:P8").ClearContents
UE = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
Area = Worksheets("Foglio2").Range("A2:AX" & UE)
valore = Range("F8").Value
If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If
If [J2] = "" Then
MsgBox "digitare inizio riga"
Range("J2").Select
GoTo Fine
End If
If [K2] = "" Then
MsgBox "digitare Numeri da trovare"
Range("K2").Select
GoTo Fine
End If
Inizio = [J2]
For RR = Inizio To UE
    For CC = 1 To [I2]
        If Worksheets("Foglio2").Cells(RR, CC).Value = valore Then
        Cells(8, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value
        TR = TR + 1
        If TR = Range("K2").Value Then GoTo esci
        End If
    Next CC
Next RR
esci:
Fine:
End Sub

Fai attenzione, io ho ancora il foglio dove i dati venivano riportati nella riga 8 da G verso destra e utilizzavo le prime due righe come configurazione, sta a te ora adattare le varie celle, spostando gli indirizzi secondo la tua esigenza.

Ciao



Cells(1, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value

Ciao a tutti devo trovare il valore a destra e a sinistra come posso modificare
Cells(RR - 1, CC). se metto -1 mi trova il numero sopra del valore presente in F1
Cells(RR + 1, CC). se metto +1 mi trova il numero sotto del valore presente in F1

come faccio a chiedere alla macro di metterli entrambi
in più devo aggiungere il numero a destra e a sinistra del valore di ricerca in F1?

Cells(RR + 1, CC). come va variata x destra e sinistra


..............................................................................................................

Dimenticavo un pezzo in questo caso mi analizza i dati
dalle colonne da 1 a 50
,posso scegliere da 1 a 20
oppure da 1 a 30

If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If


se voglio analizzare le colonne da 16 a 25
esem: Genova e Milano come vario If [I2] > 50 Or [I2] = 0 Then
mettendo in H2 l'inizio colonne e in I2 il termine colonne ricerca


sempre se e possibile

grazie mille
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi Flash30005 » 16/05/10 00:08

A questo punto credo sia più opportuno l'invio del file da parte tua

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cerca verticale valore cella

Postdi tony61 » 16/05/10 07:40

Flash30005 ha scritto:A questo punto credo sia più opportuno l'invio del file da parte tua

Ciao



non voglio farmi fare il programma da voi ,vorrei solo capire la macro
per poter fare io le modifiche altrimenti non imparo mai ..

Se riesci solo a consigliarmi come variare i due parametri elencati se è possibile con
2 righe ,se non si può vedrò di inviarti il file (solo lavori personali che preferivo tutelare)
visto che sul web ....

Se le modifiche si possono fare senza variare completamente la macro proviamo ,
le inserisco al posto giusto.

Cells(RR + 1, CC). come va variata x destra e sinistra
...............................................................................
If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If

se voglio analizzare le colonne da 16 a 25
esem: Genova e Milano come vario If [I2] > 50 Or [I2] = 0 Then
mettendo in H2 l'inizio colonne e in I2 il termine colonne ricerca
...........................................................................................

Solo se è possibile variare la parte tra If - End If

altrimenti se è più complicato non voglio portarti via altro tempo.




grazie ancora
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi Flash30005 » 17/05/10 00:54

Ho dovuto rileggere tutti i post precedenti per capire che non ho i fogli come li hai tu
i riferimenti che tu riporti non sono gli stessi che ho io
quindi quando dici es. H2 inizio ricerca, non riesco a capire l'esempio perché io in H2 ho una cella vuota e nel foglio2 ho solo una ruota con 10 colonne piene quindi vado a "spanne"

tony61 ha scritto:If [I2] > 50 Or [I2] = 0 Then
MsgBox "Digitare N. Colonne (da 1 a 50)"
Range("I2").Select
GoTo Fine
End If

Per analizzare un range di colonne devi inserire in H2 l'inizio colonna e in I2 la colonna fine quindi
metterai 16 in H2 e 25 in I2
modificherai questa piccola routine di controllo inserimento dati aggiungendo ulteriori controlli, così
Codice: Seleziona tutto
If [I2] > 50  Then
MsgBox "Digitare N. Colonne (da 2 a 50)"
Range("I2").Select
GoTo Fine
End If
If [H2] = 0  Then
MsgBox "Digitare N. Colonne (da 1 a 49)"
Range("H2").Select
GoTo Fine
End If

If [H2] > [I2] Then
MsgBox "Inizio N. Colonne maggiore di Fine N. Colonne, correggere!"
Range("H2").Select
GoTo Fine
End If


Poi nella macro dovrai modificare questa riga

Codice: Seleziona tutto
...
For RR = Inizio To UE
    For CC = [H2] To [I2] '<<<<<<<<<< RIGA DA MODIFICARE
        If Worksheets("Foglio2").Cells(RR, CC).Value = valore Then
        Cells(8, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value
        TR = TR + 1
        If TR = Range("K2").Value Then GoTo esci
        End If
    Next CC
Next RR
esci:
Fine:
End Sub



Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cerca verticale valore cella

Postdi tony61 » 17/05/10 07:11

Perfetto bravissimo
davvero grande Flash30005
ora posso fare le mie statistiche sperimentali
e in più inizio a lavorare sulle macro grazie .

..............................................................
Adesso sempre inerente al post ultimo che avevo fatto ,sono riuscito variando solo
il RR + 1 a trovare il valore(n°) presente al di sotto della
del valore inserito in f1 se faccio ad esem:RR +3 mi tro va a - 3 rispetto al valore presente in f1
fin qui sono riuscito ora non riesco a fare x destra e sinistra del valore presente in f1

Cells(RR - 1, CC). come va variata x destra e sinistra

grazie ciao

If Worksheets("Foglio2").Cells(RR, CC).Value = valore Then
Cells(1, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value
TR = TR + 1
If TR = Range("K2").Value Then GoTo esci
End If
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi tony61 » 18/05/10 16:13

Perfetto bravissimo
davvero grande Flash30005
ora posso fare le mie statistiche sperimentali
e in più inizio a lavorare sulle macro grazie .

..............................................................


Adesso sempre inerente al post ultimo che avevo fatto ,sono riuscito variando solo
il RR + 1 a trovare il valore(n°) presente al di sotto della
del valore inserito in f1 se faccio ad esem:RR +3 mi tro va a - 3 rispetto al valore presente in f1
fin qui sono riuscito ora non riesco a fare x destra e sinistra del valore presente in f1

Cells(RR - 1, CC). come va variata x destra e sinistra

grazie ciao

If Worksheets("Foglio2").Cells(RR, CC).Value = valore Then
Cells(1, TR + 7).Value = Worksheets("Foglio2").Cells(RR - 1, CC).Value
TR = TR + 1
If TR = Range("K2").Value Then GoTo esci
End If
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi Flash30005 » 18/05/10 23:11

Non capisco questo tuo quesito "destra sinistra"
se ti riferisci alle colonne
devi mettere cc-1 per andare di una colonna verso sinistra e cc+1 per andare a destra di una colonna (-2 o +2 per due colonne a sinistra o 2 colonne a destra)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cerca verticale valore cella

Postdi tony61 » 19/05/10 08:16

Flash30005 ha scritto:Non capisco questo tuo quesito "destra sinistra"
se ti riferisci alle colonne
devi mettere cc-1 per andare di una colonna verso sinistra e cc+1 per andare a destra di una colonna (-2 o +2 per due colonne a sinistra o 2 colonne a destra)

ciao


Grazie mille ok intendevo il valore a destra e sinistra della cella
del valore presente in f1,
come fatta ora la macro trova il valore sopra la cella Cells(RR - 1, CC)del riferimento in F1
e so come fara x trovare il valore sotto la cella Cells(RR + 1, CC)

....................................................
Mi da in alcuni casi errore forse perchè va poi fino a la colonna A e non trovando nulla
a sinistra va in errore
ok adesso cosi Cells(cc - 1, CC) x andare a sinistra della cella di riferimento (valore in F1)
cosi dovrebbe trovarmi tutti(parametro impostato) i n° presenti a sinistra del (valore in F1)

siamo già andati avanti abbastanza e non voglio farti perdere altro tempo
ti ringrazio x tutto ,gentilissimo come sempre ,un passo x volta arriverò a capire

grazie
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi Flash30005 » 19/05/10 14:27

No, Tony stai sbagliando
quando usi il codice cells hai (primo parametro le righe , secondo parametro le colonne)
Cells(2,5) significa riga 2 e colonna 5 ("E")
quindi ti stai riferendo alla cella "E2"

non puoi usare cells(cc-1,CC) come hai riportato tu
ma cells(valoreRiga, CC-1) per spostarti di una colonna a sinistra

ok?
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cerca verticale valore cella

Postdi tony61 » 19/05/10 15:08

Ok grazie mille

gentilissimo
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Cerca verticale valore cella

Postdi mariocariello » 01/06/10 15:47

Buongiorno a tutti
premesso che sono un neofita con il cerca.vert
volevo sapere se è possibile con office 2007 inserire nell'argomento "valore" una formula.
MI spiego meglio a me il cerca.vert funziona se nell'argomento"valore" c'è un numero:
=CERCA.VERT(225;codici!$A$1:$B$999;2;FALSO)
Ma se nell'argomento "valore inserisco una cella contenente una formula:
=CERCA.VERT(G2;codici!$A$1:$B$999;2;FALSO)
non mi funziona.... :aaah
ecco la formula all'interno di G2:
=DESTRA(C2;3)
che devo fare?
grazie ancora
Mario
mariocariello
Newbie
 
Post: 1
Iscritto il: 01/06/10 15:39

Re: Cerca verticale valore cella

Postdi Anthony47 » 01/06/10 21:52

Ciao mariocariello e benvenuto nel forum.
Quello che chiedi e' assolutamente normale e fattibile. Tuttavia devi tener presente quale e' il dato da cercare: e' un numero (come la formula con 225 fa pensare) o e' una stringa (che e' il dato restituito dalla formula Destra)? Ovvio che se e' un numero e gli chiedi di trovare una stringa ti dica #N/D.
Se questa e' la chiave del tuo problema, allora basta che invece di =DESTRA(C2;3) usi
Codice: Seleziona tutto
=--DESTRA(C2;3)
che ti restituisce il numero corrispondente alla stringa.
Ovviamente puoi usare questa formula direttamente nella formula Cerca.Vert, es
Codice: Seleziona tutto
=CERCA.VERT(--DESTRA(C2;3);codici!$A$1:$B$999;2;FALSO)


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

Re: Cerca verticale valore cella

Postdi gladiosannita » 20/09/10 21:24

Ciao a tutti avrei bisogno anch'io di questo aiuto

Questa è la formula:

Così non funziona :o
=SE(VAL.NON.DISP(CERCA.VERT(L14;L2:AD11;19;FALSO));CERCA.VERT(L14;L2:AD11;18;FALSO);CERCA.VERT(L14;L2:AD11;19;FALSO))

Mentre così sì.... :-?
=SE(VAL.NON.DISP(CERCA.VERT("Napoli";L2:AD11;19;FALSO));CERCA.VERT("Napoli";L2:AD11;18;FALSO);CERCA.VERT("Napoli";L2:AD11;19;FALSO))

Nella Cella L14 il nome "Napoli" è così ottenuto con questa formula
=SE(B14="";"";STRINGA.ESTRAI(B14;1;RICERCA("-";B14)-1))

Grazie..
gladiosannita
Utente Junior
 
Post: 65
Iscritto il: 13/04/09 12:32

Re: Cerca verticale valore cella

Postdi Anthony47 » 20/09/10 21:45

In una cella libera inserisci la formula
Codice: Seleziona tutto
=LUNGHEZZA(L14)
Dimmi che cosa leggi in L14 e cosa ti restituisce la formula.

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

Re: Cerca verticale valore cella

Postdi gladiosannita » 20/09/10 23:29

Ciao Anthony47 grazie x la risposta
In L14 leggo Napoli,mi restituisce con la tua formula da te indicata inserita in un altra cella il numero 7
gladiosannita
Utente Junior
 
Post: 65
Iscritto il: 13/04/09 12:32

Re: Cerca verticale valore cella

Postdi Anthony47 » 21/09/10 00:31

Come vedi in L14 non c' e' "Napoli", che ha solo 6 lettere e non 7. La cosa piu' probabile e' che la 7° sia uno spazio spurio alla fine della parola: se questo e' il problema allora puoi rimediare usando nella formula
Codice: Seleziona tutto
CERCA.VERT(Annulla.spazi(L14);L2:AD11;etc etc

Se anche cosi' non funziona ispeziona bene i tuoi dati di partenza per capire di quale carattere si tratta...

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

Re: Cerca verticale valore cella

Postdi gladiosannita » 21/09/10 17:00

:lol: Funziona!!!
Codice: Seleziona tutto
=SE(VAL.NON.DISP(CERCA.VERT(ANNULLA.SPAZI(L14);$L$2:$AD$11;19;0));CERCA.VERT(ANNULLA.SPAZI(L14);$M$2:$AD$11;18;0);CERCA.VERT(ANNULLA.SPAZI(L14);$L$2:$AD$11;19;0))

Adesso,però la stessa formula (cambiando solo la cella "valore" ora M14) non funziona! :cry:
Nella cella M14 c'è la parola Milano,cosi ottenuta dalla seguente formula:
=SE(B14="";"";DESTRA(B14;(LUNGHEZZA(B14)-(RICERCA("vs";B14)+3))))

Ancora un grazie per il vostro aiuto,e pazienza.....
gladiosannita
Utente Junior
 
Post: 65
Iscritto il: 13/04/09 12:32

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Cerca verticale valore cella":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti