buongiorno, ho due serie di dati nello stesso foglio ( in futuro saran due foglii diversi, ma per capire il codice mi vien comodo lasciar sullo stesso foglio)
il file deve confrontare due giacenze di magazzino
nella serie di sinistra ho la giacenza nuova ( che sarà il foglio che esporto in futuro )
nella serie di destra ho la giacenza in essere ( che sarà il mio foglio di lavoro )
le serie sono composte da articolo, nome e qta
scrivere il codice per copiare i dati facendo il confronto articolo, è stato semplice anche per me, quindi vuol dire che era proprio una stupidata.
ora ; se nella serie nuova ( sulla sinistra nel mio foglio , in futuro foglio che esporto dal database ) ho un articolo ( o n articoli ) in più, devo vederlo nella serie di destra ( il mio futuro foglio di lavoro )
problema, NON E' DETTO che gli articoli siano inseriti in fondo alla lista, potrebbero essere in mezzo.
stiamo parlando di 1500 articoli, che se diventano 1501 come trovo quello nuovo?
Stavo provando a modificare il mio codice, per trovare l'articolo della serie di sinistra e aggiungerlo in fondo alla serie di destra ma mi sono arenato.
Ho provato invenzioni tipo " if exist" "if not", la funzione find. ma non sono stato capace di trovare nulla
la logica di lavoro deve essere
" se nella colonna A c'è un valore che non esiste nella colonna F, nella prima riga libera della colonna F devi mettere, articolo, nome e qta" .
in pratica aggiungere la riga articolo incrementando il mio file base di lavoro e controllo.
p.s. non fate caso ai contatori, è un mio riferimento quando facevo le prove per essere sicuro che il codice girasse ogni volta
le righe in colonna J semplicemente restituiscono i valori della riga libera/occupata del range di controllo
allego file
http://www.filedropper.com/quindi
e qui di seguito il codiceSub copiagiacenza()
Cells(29, 9) = Cells(29, 9) + 1
Dim numriga As Long
Dim numriga1 As Long
Dim J As Long
numriga = Sheets("uno").Range("f" & Rows.Count).End(xlUp).Row
numriga1 = Sheets("uno").Range("f" & Rows.Count).End(xlUp).Row + 1 'numero prima riga libera
Cells(1, 10) = numriga
Cells(2, 10) = numriga1
Sheets("uno").Select
a = 2
b = 2
For a = 2 To 10
If Cells(a, 1) = "" Then a = 10
For b = 2 To 10
If Cells(b, 6) = Cells(a, 1) Then ' se la cella in colonna a è uguale alla cella in colon f
Cells(b,

End If
If flag = 1 Then Cells(27, 10) = " un altro passo"
Next b
Next a
Cells(30, 9) = Cells(30, 9) + 1
Cells(29, 10) = Cells(29, 10) + 1
Cells(1, 10) = numriga
Cells(2, 10) = numriga1
Cells(30, 10) = Cells(30, 10) + 1
End Sub