VBA EXCEL - validazione di cella con valori da altro foglio

di il
2 risposte

VBA EXCEL - validazione di cella con valori da altro foglio

Sono un ignorante becero alle primissime armi.
Ho due fogli, nel primo un elenco di prodotti, dove nella prima colonna ho il nome del prodotto e nel secondo il nome del fornitore. Più altre che per ora non interessano.
Nel secondo vorrei inserire le fatture.
Vorrei che, in questo secondo foglio ("fatture"), a seconda del fornitore che scelgo nella prima colonna, nella seconda ci sia il controllo di validazione che mi permetta di inserire i soli prodotti di quello specifico venditore.
Premetto che nel primo foglio le righe sono ordinate per venditore.
Ecco cosa ho beceramente partorito:

--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

    
    'SE CAMBIO LA COLONNA "FORNITORE" DEVO CAMBIARE NELLA CELLA A FIANCO I PRODOTTI DISPONIBILI
    If Target.Column() = 1 Then
    
    'CERCA IL PRIMO PRODOTTO PER QUEL FORNITORE
    Set trovaPrimo = Worksheets("listinototalone").Range("B:B").Find(Target)
    primoprod = trovaPrimo.Row()
    
    'CONTA I PRODOTTI PER QUEL FORNITORE

' prima è la cella dove è la prima occorrenza di quel fornitore
' quanti è il numero di occorrenza nella colonna B per quel fornitore

    
    quantiProd = Application.WorksheetFunction.CountIf(Workbooks(1).Sheets(1).Range("B:B"), Target)
                     
    ultimoprod = primoprod + quantiProd
                 
  
    Worksheets("listinototalone").Activate
    ActiveWorkbook.Names.Add Name:="listdata", RefersTo:=Range(Cells(primoprod, 1), Cells(ultimoprod, 1))
    Worksheets("fatture").Activate
    


With Range("B" & Target.Row()).Validation 'definizione delle celle per la convalida
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=listdata"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
            
End If


End Sub
---------------------------------------

Purtroppo vedo che la "listdata" punta sempre alle celle del secondo foglio ("fatture") e non al primo ("listinototalone").
Grazie a chi mi saprà aiutare e ne avrà la pazienza.

:help:

2 Risposte

  • Re: VBA EXCEL - validazione di cella con valori da altro foglio

    Crossposting su forumexcel.it
  • Re: VBA EXCEL - validazione di cella con valori da altro foglio

    Mi pare di aver scritto prima questo e poi l'altro quindi nel momento in cui ho scritto qui non era presente in nessun altro forum.
    Comunque, se non va bene, lo cancello di là e mi scuso senz'altro sinceramente.

    Aggiornamento:
    E niente... Non riesco a cancellare l'altro messaggio.
    Pace. Vuol dire che userò carta e penna come gli antichi!
    Scusatemi per l'involontaria infrazione del regolamento.

    Buona giornata.
Devi accedere o registrarti per scrivere nel forum
2 risposte