Info correlazione di fogli

di il
2 risposte

Info correlazione di fogli

Buonasera a tutti, sono un neofita quindi scusatemi.

Io ho un foglio dove ho registrato in una colonna dei quantitativi e associato a questo quantitativo un lotto. nel secondo foglio ho varie formule che mi danno il prodotto a questo prodotto devo associare un lotto (preso dal foglio precedente) che però potrebbe essere doppio dato che il quantitativo del lotto potrebbe essere inferiore.

Faccio un esempio per spiegarmi meglio

Foglio 1 ho lotto 1 quantita 100, lotto 2 quantita 200

Nel foglio due ho il prodotto che e 150 quindi vorrei che mi appaia Lotto 1+ Lotto 2 

spero di essermi spiegato

Grazie a tutti

2 Risposte

  • Re: Info correlazione di fogli

    Ti sei spiegato ma sarebbe meglio usare access...

    lavoro con i lotti, ho spolverato un vecchio foglio che fa (non dovrebbe fare) al caso tuo.

    una macro che preleva i lotti e li azzera man mano che li usa.

    è obsoleto perchè prevede solo la quantità

    non ricordo se funziona: abbandonato per usare un database che gestisce come è giusto fare.

    ti lascio la macro, la provi e se qualcuno più esperto riesce a modificarla bene.

    rinnovo il consiglio di usare un database con linguaggio annesso.

    Sub Estrailotti()
    
        Dim VarLotti As Worksheet
        Dim VarProd As Worksheet
        Dim i As Long
        Dim Ultimorigo As Long
        Dim prelievo As Double
        Dim Prelevati As String
        Dim qtaLotto As Double
    
        Set VarLotti  = Worksheets("Foglio1")  ' foglio elenco lotti
        Set VarProd = Worksheets("Foglio2")   ' foglio destinazione
        prelievo = VarProd.Range("B2").Value ' cella dove si trovano le quantità richieste dal foglio2
        Ultimorigo = VarLotti.Cells(VarLotti.Rows.Count, "A").End(xlUp).Row
        Prelevati = ""
        For i = 2 To Ultimorigo 
            If prelievo <= 0 Then Exit For
            qtaLotto =VarLotti.Cells(i, "B").Value
            If qtaLotto > 0 Then
                Prelevati = Prelevati & VarLotti.Cells(i, "A").Value & " + "
                If qtaLotto <= prelievo Then
                    ' uso tutto il lotto
                    prelievo = prelievo - qtaLotto
                    VarLotti.Cells(i, "B").Value = 0
                Else
                    ' uso solo una parte
                    VarLotti.Cells(i, "B").Value = qtaLotto - prelievo
                    prelievo = 0
                End If
            End If
        Next i
        If Len(Prelevati) > 0 Then
     Prelevati = Left(Prelevati, Len(Prelevati) - 3)
        End If
        VarProd.Range("C2").Value = Prelevati
        If prelievo > 0 Then MsgBox "Quantità insufficiente: hai terminato i lotti a disposizione!", vbExclamation
        End If
    
    End Sub 

    usare foglio1 e foglio2 porta problemi.

    ti consiglio l'uso di un database.

  • Re: Info correlazione di fogli

    Grazie mille. Adesso provo ma mi sa che mi cimenterò con Access anche se non sono molto pratico.

    Grazie ancora

Devi accedere o registrarti per scrivere nel forum
2 risposte