› Varie ed Eventuali (Off Topic) › CICLI, no Grazie
-
AutoreArticoli
-
Grazie Marco
Aggiungo che spesso (se non quasi sempre) i Codici dei prodotti non seguono la numerazione progressiva e talvolta sono anche alfanumerici.
Ciao,
Mario
Ah Albatros... ti supplico... adesso che l'hai riesumata cancella subito col bianchetto ogni ricorrenza di On ... Goto + label dal tuo patrimonio culturale
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Aggiungo che spesso (se non quasi sempre) i Codici dei prodotti non seguono la numerazione progressiva e talvolta sono anche alfanumerici.
Vero, infatti nella mia prima proposta ho usato Match().
Poi ho visto la soluzione di chi il quiz l'ha proposto (@Albatros54 ciao) che presuppone codici 1 2 3 ... e quindi ho semplificato
Eccoti accontentato:

Ciao Ecco anche il mio contributo
Avevo pensato di usare Application.WorksheetFunction.VLookup poi visto che era gia stato proposto ho pensato di usare un find
Sicuramente un po' verbosa e quindi semplificabile.
Ho usato un solo if per verificare la bontà degli ingressi
`Sub ColcoloCommisioneLT() Dim ProdottoCod Dim ProdottoCella Dim Commissione Dim Quantita Dim Totale Dim Risposta ProdottoCod = InputBox("inserire Codice Articolo", "INSERIRE") Set ProdottoCella = Range("A2", Range("A2").End(xlDown)).Find(What:=ProdottoCod, After:=Range("A2"), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If ProdottoCella Is Nothing Then Risposta = MsgBox("Codice Non Trovato", vbExclamation + vbOKOnly) End If Quantita = InputBox("inserire Quantità Articoli", "INSERIRE") Commissione = ProdottoCella.Offset(0, 1) Totale = Quantita * Commissione Risposta = MsgBox("La commissione totale vale: " & Totale, vbInformation) Range("H22").Select End Sub `Altra Possibiità: selezionare direttamente il codice dall'elenco
Sub ColcoloCommisioneLT2() Dim ProdottoCella Dim Commissione Dim Quantita Dim Totale Dim Risposta Set ProdottoCella = Application.InputBox("inserire Codice Articolo", "INSERIRE", , , , , , 8) If Intersect(Range("A2", Range("A2").End(xlDown)), ProdottoCella) Is Nothing Then Risposta = MsgBox("Codice Non Trovato", vbExclamation + vbOKOnly) End If Quantita = InputBox("inserire Quantità Articoli", "INSERIRE") Commissione = ProdottoCella.Offset(0, 1) Totale = Quantita * Commissione Risposta = MsgBox("La commissione totale vale: " & Totale, vbInformation) Range("H22").Select End Sub -
AutoreArticoli
