come aggiornare un magazzzino



  • come aggiornare un magazzzino
    di efarre data: 26/03/2015 17:56:51

    rieccomi.
    dopo aver creato nel foglio 2 uno storico di interventi sulle stampanti in uso vorrei stornare dai magazzini le cartucce di toner usate per singola marca e per colore.
    Premetto che tutto quello che sto cercando di fare in VBA l'ho già fatto con le formule e tutto gira correttamente.
    il problema è che vorrei imparare ad usare VBA, ma mi scontro sempre con problemi che mi sembrano insormontabili.
    Tornando al problema, i magazzini si trovano, come le stampanti, in 3 sedi diverse.
    Dopo aver incrementato lo "storico", ho pensato di inserire in un modulo la sub "calcolaoccorrenze".
    Con le formule avevo utilizzato contapiu.se nel foglio "magazzino" ottenendo il numero di toner cambiati in base alla marca, il modello e il colore sostituito presso una singola sede, e poi con una semplice formula di sottrazione tra la scorta del toner nero, ad es., relativo a quella marca e modello che si trova in quella sede, ottenevo la rimanenza in magazzino.
    Con VBA il massimo che sono riuscito a fare è nel codice allegato, ma a parte che funziona al contrario di come vorrei, come faccio a replicarlo per ogni singola tipologia di stampante, per ogni colore e per ogni sede??
    e come posso utilizzare i valori ottenuti in un modulo per usarli, ad esempio in una label su una userform?
    Grazie a tutti
    Enzo Farre

     
    Private Sub CALCOLAOCCORRENZE()
    Dim NRighe As Long
    Dim valore As Long
    Dim SommaOccorrenze As Long
    Dim I As Long
    
    NRighe = Application.WorksheetFunction.CountA(Range("a1:a65000"))
    
    valore = 0
    For I = 1 To NRighe
    SommaOccorrenze = Application.WorksheetFunction.CountIfs(Range("A1:A" & NRighe), Range("A2"), Range("B1:B" & NRighe), Range("B2"), Range("C1:C" & NRighe), Range("C2"))
    
                                                             
    If SommaOccorrenze = 0 Then
    Range("a" & I).Font.Bold = True
    valore = valore + 1
    End If
    Next I
    MsgBox "ci sono " & SommaOccorrenze & " valori uguali" & " e " & valore & "diversi"
    
    End Sub