Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

cercare su piu' fogli e riportare il valore

Ultimo Aggiornamento: 25/01/2017 12:45
Post: 4
Registrato il: 29/06/2008
Città: ACQUAFONDATA
Età: 44
Utente Junior
excel 2007
OFFLINE
24/01/2017 14:21

salve a tutti
cerco aiuto su una cosa che vorrei fare.
ho un file excel composto da molti sheet ( all'incirca 60 ) con nomi che cambiano almeno una volta ogni due mesi.

in questi sheet dovrei trovare un valore, nel mio caso la cella con il valore (6), e in corrispondenza di quel valore copiare la cella a sinistra e riportare il nome del foglio dove si trova.

penso sia abbastanza complicato e io non so dove mettermi le mani ...
help meeee

grazie
paola
Post: 2.631
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/01/2017 15:07

Ciao Paola.

Per poterti meglio aiutare dovresti allegare un file di esempio (non è necessario con 60 fogli; ne basta qualcuno) con dati non sensibili e sulla base di questi spiegare quello che vuoi fare/ottenere.

Alfredo
Post: 4
Registrato il: 29/06/2008
Città: ACQUAFONDATA
Età: 44
Utente Junior
excel 2007
OFFLINE
24/01/2017 16:55

allego
allego un file di esempio ...

praticamente nello sheet 335XXXXX nella cella P115 ho come valore (6) ..... io vorrei trovare quel valore e riportarmi la cella alla sinistra ( in questo caso 48.00) e che mi mettesse il nome dello sheet dove lo trova .....

ovviamente io ho tantissimi sheet .....

se potete aiutarmi ve ne sarei grata.
grazie
Post: 48
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
24/01/2017 17:30

Ciao
nel tuo file di esempio non sapendo dove vuoi il dato estratto l'ho messo in S115 per trovare il valore della cella a sinistra di (6)

=INDIRETTO("r"&MATR.SOMMA.PRODOTTO(($A$1:$P$147="(6)")*RIF.RIGA(A1:P147))&"c"&MATR.SOMMA.PRODOTTO(($A$1:$P$147="(6)")*RIF.COLONNA(A1:P147))-1;FALSO)


per sapere il nome del foglio in S117

=DESTRA(CELLA("filename";A1);LUNGHEZZA(CELLA("filename";A1))-TROVA("]";CELLA("filename";A1)))
Post: 2.637
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/01/2017 17:38

Preciso solo che la seconda formula di Danilo (che saluto) funziona solo se il file è stato già salvato.

Alfredo
Post: 5
Registrato il: 29/06/2008
Città: ACQUAFONDATA
Età: 44
Utente Junior
excel 2007
OFFLINE
25/01/2017 09:13

..
grazie mille ...
la formula per il nome del foglio mi restituisce errore
io ho excel in inlgese .... forse ho tradotto qualcosa male ?

=RIGHT(cel("filename";A1);LEN(cel("filename";A1))-FIND("]";cel("filename";A1)))

inoltre il mio problema è che questi dati me li deve riportare diciamo su uno sheet nuovo leggendo tutti gli sheet del file ( poiche' sono piu di 60 fogli .... quindi deve leggere tutti i 60 fogli e riportarmi solo i valori a sinistra di quel (6) e il nome del foglio dove li ha trovati )

grazie mille
Paola
Post: 2.644
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
25/01/2017 10:33

Paola la funzione CELLA in inglese è CELL non CEL.

Alfredo
Post: 2.645
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
25/01/2017 11:04

Ciao Paola

A meno di una mia svista non vedo (nei fogli del file che hai allegato) un valore "6".

Questo valore (nei singoli fogli) è unico o potrebbe ripetersi?

Potrebbe essere in tutto il foglio o in una colonna in particolare?

Prova a spiegare meglio magari riallegando il file ed inserendo a mano (su un nuovo foglio) il risultato che vuoi ottenere.

Alfredo
Post: 6
Registrato il: 29/06/2008
Città: ACQUAFONDATA
Età: 44
Utente Junior
excel 2007
OFFLINE
25/01/2017 11:51

grazie
grazie!!
aggiungo un altro file sperando di essere piu' chiara ..
io penso che nel mio caso servi una macro ?
Post: 2.648
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
25/01/2017 12:32

Ciao Paola

Ti allego il tuo file con la macro che vedi qui

vb
Sub paola()
Dim i As Integer
Dim Rng As Range
Dim ur As Long
For i = 2 To ThisWorkbook.Sheets.Count
ur = Sheets("Sheet3").Cells(Rows.Count, 2).End(xlUp).Row
With Sheets(i).Range("P:P")
    Set Rng = .Find(What:="(6)", _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not Rng Is Nothing Then
                Sheets("Sheet3").Cells(ur + 1, 2).Value = Rng.Offset(0, -1).Value
                Sheets("Sheet3").Cells(ur + 1, 3).Value = Sheets(i).Name
            End If
End With
Next i
End Sub


Per lanciarla ti ho messo un pulsante sullo Sheet3.

Prova e fai sapere.

Alfredo
Post: 7
Registrato il: 29/06/2008
Città: ACQUAFONDATA
Età: 44
Utente Junior
excel 2007
OFFLINE
25/01/2017 12:38

FANTASTICOOOOOO
FUNZIONAAAA

GRAZIE
[SM=x423063]
Post: 2.650
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
25/01/2017 12:45

E secondo te lo avrei proposto se non avesse funzionato? [SM=g27828] [SM=x423063]

Alfredo
Vota: 15MediaObject5,00112 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 17:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com