Vi seguo da un po' di tempo e grazie al vostro supporto sono sempre riuscito a risolvere ogni problema, purtroppo oggi sono "costretto" a darvi fastidio
Ho creato un file Excel denominato Proforma e Al suo interno sono presenti i fogli :
- - Ordine
- Campionario
Nel foglio Ordine (vuoto, da compilare per ogni singolo cliente) sono presenti le seguenti intestazioni:
- A5 = Articolo
(codice dell'articolo)
B5 = Immagine dell'Articolo
(un immagine jpeg)
C5 = Dimensioni
(dimensioni dell'articolo)
D5 = Quantità
(la sua quantità)
E7 = Prezzo Unitario
(il suo prezzo)
Nel Foglio Campionario sono presenti le stesse intestazioni del foglio precedente ma con dei dati al suo interno, diciamo come se fosse una sorta di database.
Quel che mi occorrebbe :
Inserire nella cella A6 (A7,A8 e cosi via) del foglio Ordine il numero dell'articolo, verificare se quest'ultimo valore sia presente nel foglio Campionario e se PRESENTE, copiare i dati presenti in quest'ultimo foglio e incollarli nel foglio Ordine.
Esempio Ricerca: Inserisco l'articolo 5
- Codice: Seleziona tutto
[b]Foglio Ordine[/b]
A B C D E
5 Articolo Immagine Dimensioni Quantità Prezzo_Unitario
6 5
ecc...
Il VALORE nella cella A6 è Presente nel 'Foglio Campionario'?
SE è presente
Copia da 'Foglio Campionario' VALORI da B7 a E7 (Ovviamente le righe variano in base alla posizione dell'articolo)
e Incolla in 'Foglio Ordine' in posizione da B6 a E6
SE non è presente non fare nulla
- Codice: Seleziona tutto
[b]Foglio Campionario[/b]
A B C D E
5 Articolo Immagine Dimensioni Quantità Prezzo_Unitario
6 1 1*1 / 1€
7 5 4*5 / 3,5€
ecc...
Spero di non avervi annoiato con questa lunga descrizione, ho cercato di essere il più chiaro possibile. Se per caso il mio problema fosse già stato trattato, chiedo scusa per non aver cercato adeguatamente e in tal caso vi autorizzo a prendermi a bastonate
L'unica cosa che ho trovato purtroppo non funziona tanto bene, perchè credo che per le immagini bisognerebbe usare qualche altra istruzione. Vi allego la Sub con relativo LINK esterno ( sperando di non infrangere regole )
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Worksheet
Dim rng As Range
Dim lRiga As Long
Set sh = ThisWorkbook.Worksheets("Foglio2")
If Target.Cells.Count = 1 Then
Select Case Target.Column
Case 1, 2
With sh
lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A1").AutoFilter Field:=Target.Column, Criteria1:=Target.Value
On Error Resume Next
Set rng = .Range("A2:F" & lRiga).SpecialCells(xlCellTypeVisible)
If Not rng Is Nothing Then
rng.Copy Destination:=Me.Range("A" & Target.Row)
End If
.Range("A1").AutoFilter
End With
End Select
End If
Set rng = Nothing
Set sh = Nothing
End Sub
http://answers.microsoft.com/it-it/office/forum/office_2003-excel/creare-macro-x-copiare-dati-da-un-foglio-ad-un/1bb04890-036f-49e9-b2ea-c7ab7a9a7183?rtAction=1407349178947
Ringraziandovi Anticipatamente Vi Auguro una Buona Serata!
Mr.HelloRabbit