Domanda Cerca verticale e sostituisci valore cella da più fogli

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
Buongiorno a tutti,
ho 2 file excel (per comodità li ho raggruppati in fogli Query e GLSP):
- uno contiente una query di SAP con codici articoli, N. listino e prezzo - "query"
- codice articoli e prezzo (alimentato manualmente) - "glsp"
Prima cosa ho fatto un cerca.vert da "glsp" ad "query" per capire se tutti i codici erano presenti - OK
Adesso dovrei sostituire, nel foglio "query", SOLO per gli articoli il cui N.listino è uguale a 3 la colonna prezzo contenuta nel foglio "glsp".

Per comodità ho filtrato per N.listino tutti gli articoli contenuti in "query" e copiati in un nuovo foglio (Listino_vendita) e creato un foglio "merge" dove ho messo i risultati dei vari cerca.vert, ma alla fine non so come sostituire il il prezzo del foglio "glsp" con quello di "query", solo per quei derminati articoli.
Ho provato Trova, sostituisci, cerca.vert (sostituisci), ma niente.

Spero di essermi spiegato.
vi allego un esempio. il file orginale non me lo fa ciricare per limite di peso, la query di sap è di 50529 righe

Grazie dell'aiuto,
Alessandro
 

Allegati

Canapone

Excel Expert
Moderatore
2 Giugno 2015
2.239
115
Firenze
2010 su Win
272
Ciao

non so se ho capito bene: vuoi aggiornare nel foglio query solo i prezzi del listino 3 richiamando i prezzi dal foglio GLSP?

Se fosse questo il caso potresti crearti una colonna di servizio nel foglio query dove copi il vecchio listino

Basterebbe poi

=SE(B2=3;SE.ERRORE(CERCA.VERT(A2;GLSP!A$2:D$4;4;0);E2);E2)

Il cerca.vert lo perfezioniamo come vuoi.

Nel tuo lavoro vedo dei cerca.vert in forma matriciale...forse sono fuori strada

Saluti
 

Allegati

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
Ciao Canapone, esatto devo copiare i prezzi sul foglio query, dal foglio glsp, solo per gli articoli che trovo sul foglio glsp. Purtroppo il file originale è troppo grande per essere caricato....nel foglio query ho molti altri articoli, codificati sempre con n.listiono 3, che non devono essere aggiornati.
grazie,
 

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
Ciao lukereds e Canapone,
ho fatto un unione delle vostre formule. Ho cambiato alcune colonne e nomi.
=IFERROR(IF(B2=3;VLOOKUP(A2;GSPL!$A$2:$D$1741;3;0);E2);"item not found")
Sicuramente per comodità di importazione in SAP, applicerò la formula di Canapone o la tua, ma senza applicare etichetta di articolo non trovato. Molto comoda per un'evidenza grafica.
Grazie ad entrambi
 

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
nel mentre che stavo applicando le vostre formule, mi è venuta in mente altra variante che potrebbe essere utile, a livello visivo.
cambiare il colore del testo o della cella, una volta che questa cambia di valore. Ho provato con la formattazione condizionale, ma non ho ottenuto il risultato sperato... mi sa che dovrò ricorrere a qualche vba. Avete qualche dritta?
Grazie,
 

lukereds

Excel/VBA Expert
Staff
17 Luglio 2018
2.101
115
Milano
www.formazione-milano.net
2013 e 2016
160
ciao,
per curiosità come importi i dati da Sap? in che formato? Grazie
Ps: per cambiare colore al cambio del testo ci vuole il Vba

....Eccolo, da inserire come gestione evento change del foglio "query"

Visual Basic:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set area = Range("C2:c1000")
ValOld = Target.Value
If Not Intersect(area, Target) Is Nothing Then

  Application.Undo
  ValNew = Target
    If ValOld <> ValNew Then
      Target.Interior.Color = vbYellow

    Else
      Target.Interior.Color = xlNone
    End If
   Target.Value = ValOld
End If
Application.EnableEvents = True

End Sub
 
Ultima modifica:
  • Like
Reactions: Canapone

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
ciao,
ti ringrazio. Ho dei comportamenti strani di Excel una volta che cerco di applicare il vba. Sul mio file originale, non funziona. Ho generato un nuovo file e funziona, ma quando vado a fare cancellazione massiva della colonna (C), compare error 13, type mistmatch e non funziona più, neanche rigenerando la query. Il problema c'è anche sul file di esempio che mi hai passato.
Grazie,
 

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
Ciao lukereds, giornate full al lavoro...stavo provando il vba. Ho notato che il vba non viene applicato in quanto su questa colonna c'è una formula, se cambio il valore a mano, funziona, però ovviamente perdo la formula.
 

Cangio

Utente junior
11 Settembre 2020
22
3
2019
0
ecco il file. ti ho evidenziato la riga 15. in cui ho cambiato "volutamente" il valore a mano, macro ha funzionato (ha sovrascritto la formula), trascinando la formula da cella superiore è comparso di nuovo error 13 debug. quindi probabile che il file allegato non funzioni già il vba. l'unico modo è ricrearlo. grazie
 

Allegati

lukereds

Excel/VBA Expert
Staff
17 Luglio 2018
2.101
115
Milano
www.formazione-milano.net
2013 e 2016
160
quindi cambi il valore a mano (e perdi ovviamente la formula sotto), poi perchè vuoi trascinare nuovamente la formula? Riottieni il vecchio valore.. Ho aggiunto un on error, però non capisco perchè trascini una formula dopo aver cambiato un valore

Visual Basic:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set area = Range("C2:c50529")
valold = Target.Value
If Not Intersect(area, Target) Is Nothing Then
On Error GoTo fine
  Application.Undo
  valnew = Target
 
    If valold <> valnew Then
      Target.Interior.Color = vbRed

    Else
      Target.Interior.Color = xlNone
    End If
   Target.Value = valold
End If
Application.EnableEvents = True
fine:
End Sub
 
Ultima modifica:

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!