Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Inserimento costi in Excel

    Buongiorno a tutti mi chiamo tropiale e sono nuovo del forum...
    sto iniziando ora le prime basi di programmazione di vba con excel e ho un problema che non riesco a risolvere..
    Vorrei creare un foglio in excel in cui, inserendo una certà quantità, mi faccia comparire in automatico nella casella vicino il prezzo di acqusto.

    Ho realizzato questo programma ma mi viene fuori una casella che ogni volta devo riavviare. invece a me interesserebbe che rimanga scritto nella cella di excel e che possa farlo su tutte le righe...

    Sub valutaNumero()
    VariabileInput = InputBox("immettere il numero di pezzi")
    Select Case VariabileInput
    Case Is <= 100
    MsgBox "il pezzo cad. è di 42€", vbInformation, _
    "20€"
    Case 101 To 200
    MsgBox "lil pezzo cad. è di 38€", _
    NomeVariabileStringa = "15€"
    Case 201 To 500
    MsgBox "il pezzo cad. è di 34€", _
    NomeVariabileStringa = "10€"
    Case 501 To 1000
    MsgBox "il pezzo cad. è di 27€", _
    NomeVariabileStringa = "10€"
    Case 1001 To 3000
    MsgBox "il pezzo cad. è di 25€", _
    NomeVariabileStringa = "10€"

    End Select
    End Sub

    vi ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Il codice ti mostra un messaggio perchè gli dici tu di mostrarlo, visto che usi un MsgBox.

    Se ti serve che il valore da mostrare nella cella cambi in funzione del valore presente in un'altra cella, devi realizzare una Function che accetti in ingresso un parametro e metterla in un Modulo di VBA.

    La Function in questione, dato l'argomento in ingresso, anche con l'utilizzo della Select Case che attualmente utilizzi, potrà valorizzare una variabile contenente il prezzo, e restituirla in uscita.

    A quel punto potrai utilizzarla sul Foglio di Excel come fosse una normale Formula.

    Boolean

  3. #3
    e come dovrei modificare il programma a questo punto?

    scusami ma ho molte difficoltà essendo proprio agli inizi

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Prova questa Function, inserendola in un modulo.

    codice:
    Public Function ValutaPrezzo(rng As Range) As Double
    
    Dim prUnit As Double
    
    Select Case rng.Value
    
        Case 0
            prUnit = 0
        
        Case 1 To 100
            prUnit = 50
        
        Case 101 To 200
            prUnit = 40
        
        Case 201 To 500
            prUnit = 30
        
        Case 501 To 1000
            prUnit = 20
        
        Case 1001 To 3000
            prUnit = 10
        
        Case Is > 3000
            prUnit = 5
            
    End Select
    
    ValutaPrezzo = prUnit
    
    End Function
    Sul tuo Foglio di Lavoro potrai utilizzare questa Function come una formula, ad esempio, nella cella B1:

    codice:
    =VALUTAPREZZO(A1)
    Boolean

  5. #5
    Grazie davvero tanto la cosa funziona bene una cosa solo come faccio a farla rimanere in memoria...mi spiego se chiudo il file e lo riapro non mi trova più il modulo associato...

    Grazie ancora tantissimo

  6. #6
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Mi sembra ovvio che il file ove risiede questa Funzione debba essere salvato, perchè la Funzione sia sempre disponibile.

    Se non ho capito, rispiega meglio cosa intendi dire...

    Boolean

  7. #7
    io ho salvato il file dove è presente questo modulo..ho provato a chiudere e riaprire ma qundol'ho riaperto dove c'era la funzione veniene fuori #NOME?

  8. #8
    ho notato che l'errore me lo dà se VBA è chiuso quando lo apro ricarico il file e funziona..è normale?

  9. #9
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Sinceramente non ho capito... Se una funzione è definita in un modulo relativo ad un certo file deve funzionare a prescidere dalla finestra di VBA aperta o meno.
    Altro discorso è, invece, se la protezione dalle macro viene attivata impedendone la corretta esecuzione.

    Boolean

  10. #10
    l'ho salvato nel file prezzi pezzi come dimostra l'imagine che ti allego ma non sò perchè quando chiudo la finestra di VBA non mi funziona più.

    Scusami
    Immagini allegate Immagini allegate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.