Risultati da 1 a 14 di 14

Discussione: calcolo tariffe



  1. #1
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3

    calcolo tariffe

    buongiorno ragazzi,

    Vi spiego le mie intenzioni, vorrei realizzare un programmino in excel per calcolare automaticamente il costo totale di un operazione.

    ho diverse pagine, all'interno di un unico file excel, su cui sono inseriti dei range di valori per cui ad ogni range corrisponde un costo.

    es. da a costo
    a d 10
    e h 20
    .. ... ....


    adesso vorrei automaticamente nella prima pagina inserire il valore di riferimento e calcolare tutto in automatico.


    avevo pensato ad un 'select case' ma non ho idea di come andar a prendere i valori.

    qualcuno ha qualche esempio da cui poter prendere spunto?

    grazie mille

  2. #2
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    idee qui ne trovi a tonnellate.
    Il problema è che se non alleghi un tuo file con un esempio concreto e con il risultato atteso sarà difficile ricevere aiuto...

  3. #3
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    Ho appena iniziato quindi non ho creato ancora nulla, al momento posso solo allegare il file con le varie tariffe e successivamente creare la pagina di riepilogo. è sufficiente ?

  4. #4
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    Seby non saprei dirti se è sufficiente perchè non ho visto nulla.
    Ma conviene che ci ragioni sopra prima tu.
    Fatti uno schema semplice di ciò che vuoi ottenere con una struttura funzionale e quando avrai completato, se non sei riuscito nell'obiettico da raggiungere, pubblichi il tuo file.
    Altrimenti rischi di non ricevere alcun aiuto.
    ciao

  5. I seguenti utenti hanno dato un "Like"


  6. #5
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Hai peinamente Ragione Textomb ; Questa te la Appoggio Ciao da Maurizio

  7. #6
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    Buongiorno a tutti,

    allora ho abbozzato un po' quella che è la mia idea, nella prima pagina inserisco un valore che poi selezionera' un importo dalla "pagina 2" in base al range in cui è contenuto.
    Una volta "estratto" l'importo corrispondente le aggiungo alla listbox di "pagina1".

    adesso vorrei capire come far selezionare il range di valori corrispondenti.
    un do while?
    File Allegati File Allegati

  8. #7
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    ragazzi scusate , sto provando intanto a selezionare i valori dalla pagina due e vedere se riesco ad inserirlo all'interno di una varibile.
    ma qualcosa non quadra :

    Dim i, rif, valore As Integer
    Sheets("Foglio1").Select
    rif = Cells(2, 2).Value
    Sheets("Foglio2").Select
    i = 5
    For i = 5 To i = 8


    If Cells(1, i).Value < rif And Cells(2, i).Value > rif Then


    valore = Cells(3, i)
    MsgBox valore, vbOKCancel
    End If
    Next



    cosa sbaglio? usando la funzione "cells" tra le parentesi vanno i numeri (riga,colonna)
    qualcuno sa dirmi qualcosa in proposito?

  9. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3333
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da sebyspadaro Visualizza Messaggio
    ragazzi scusate , sto provando intanto a selezionare i valori dalla pagina due e vedere se riesco ad inserirlo all'interno di una varibile.
    ma qualcosa non quadra :

    Dim i, rif, valore As Integer
    Sheets("Foglio1").Select
    rif = Cells(2, 2).Value
    Sheets("Foglio2").Select
    i = 5
    For i = 5 To i = 8


    If Cells(1, i).Value < rif And Cells(2, i).Value > rif Then


    valore = Cells(3, i)
    MsgBox valore, vbOKCancel
    End If
    Next



    cosa sbaglio? usando la funzione "cells" tra le parentesi vanno i numeri (riga,colonna)
    qualcuno sa dirmi qualcosa in proposito?
    Ciao Seby

    da quello che leggo sul tuo file e dal VBA che stai postando, emerge ciò :

    rif = valore nella cella B2 del Foglio1 - (in questo caso rif = "")
    nel Foglio2 fai un confronto se la cella A5 è minore di rif e la cella B5 è maggiore di rif
    se si verifica la condizione la cella E3 del Foglio2 è uguale a valore
    ....

    Mi sembra che non regge!!!

    ciao.

    P.S.
    hai scritto il codice ma nel foglio non c'è nulla.
    Se vuoi avere un aiuto concreto, dovresti mettere un file con dei dati ed evidenziare o scrivere quello che vorresti esattamente perchè così come detto non ci ho capito molto.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  10. #9
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    Ciao Baloon_50, nella mia riposta precedente ho allegato il file( ho provato a scaricarlo e dal mio pc riesco a vederlo in modo completo.)

    ad ogni modo mi sono reso conto che sbagliavo qualcosa, la funzione cell(riga,colonna) quindi devo invertire la variabile.

    allora provo a spiegare passo passo:

    1- inserisco un valore nella cella b2(2,2) del foglio 1, assegno il valore alla variabile rif.
    2- alla pressione del pulsante Calcola eseguo un controllo, se la variabile rif è compresa tra i valori della cella Ai(i,1) E della cella Bi(i,2)
    allora assegno a variabile il valore contenuto della cella Ci(i,3)
    3- stampo a schermo su una msgbox il valore contenuto in variabile.

    questo era solo per capire se eseguo bene il controllo(cosa che non sto facendo) in realta' successivamente dovrei portare questo valore all'interno di una listbox presente a Pagina1

  11. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3333
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da sebyspadaro Visualizza Messaggio
    Ciao Baloon_50, nella mia riposta precedente ho allegato il file( ho provato a scaricarlo e dal mio pc riesco a vederlo in modo completo.)

    ad ogni modo mi sono reso conto che sbagliavo qualcosa, la funzione cell(riga,colonna) quindi devo invertire la variabile.

    allora provo a spiegare passo passo:

    1- inserisco un valore nella cella b2(2,2) del foglio 1, assegno il valore alla variabile rif.
    2- alla pressione del pulsante Calcola eseguo un controllo, se la variabile rif è compresa tra i valori della cella Ai(i,1) E della cella Bi(i,2)
    allora assegno a variabile il valore contenuto della cella Ci(i,3)
    3- stampo a schermo su una msgbox il valore contenuto in variabile.

    questo era solo per capire se eseguo bene il controllo(cosa che non sto facendo) in realta' successivamente dovrei portare questo valore all'interno di una listbox presente a Pagina1

    questo è il codice giusto rispetto a quello che hai scritto tu

    Codice: 
    Sub TrovaValore()
    
    Dim i As Integer, valore As Integer
    Dim wsh As Worksheet, wsh1 As Worksheet
    
    
    Set wsh = ThisWorkbook.Worksheets("Foglio1")
    Set wsh1 = ThisWorkbook.Worksheets("Foglio2")
    
    
    For i = 5 To 8
        If wsh1.Range("A" & i).Value < wsh.Range("B2").Value And _
            wsh1.Range("B" & i).Value > wsh.Range("B2").Value Then
            valore = wsh1.Range("C" & i).Value
            MsgBox valore, vbOKCancel
        End If
    Next
    
    
    Set wsh = Nothing
    Set wsh1 = Nothing
    
    
    End Sub
    adesso vado a cena - ciao ciao

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  12. I seguenti utenti hanno dato un "Like"


  13. #11
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    Baloon_50 funziona alla perfezione, ti ringrazio tanto!!
    Vorrei capire pero' il significato del codice quindi :
    -"Dim wsh As Worksheet, wsh1 As Worksheet" qui dichiari due figli di lavoro con i nomi wsh e wsh1 per non ripetere tutta la stringa ogni volta che si deve
    effettuare un controllo.

    - " Set wsh = ThisWorkbook.Worksheets("FoglioX") " assegni la pagina alla costante , adesso vorrei capire Thisworkbook.worksheets serve a specificare che deve andare a prendere in questo file , questa pagina? se si , se dovessi far riferimento ad un altro file cosa andrebbe usato?

    - Per quel che riguarda la condizione del IF , vorrei capire perche dopo "and" aggiungi "_" quale è la sua funzione?


    Grazie infinite per la pazienza

  14. #12
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3333
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da sebyspadaro Visualizza Messaggio
    Baloon_50 funziona alla perfezione, ti ringrazio tanto!!
    Vorrei capire pero' il significato del codice quindi :
    -"Dim wsh As Worksheet, wsh1 As Worksheet" qui dichiari due figli di lavoro con i nomi wsh e wsh1 per non ripetere tutta la stringa ogni volta che si deve
    effettuare un controllo.

    - " Set wsh = ThisWorkbook.Worksheets("FoglioX") " assegni la pagina alla costante , adesso vorrei capire Thisworkbook.worksheets serve a specificare che deve andare a prendere in questo file , questa pagina? se si , se dovessi far riferimento ad un altro file cosa andrebbe usato?

    - Per quel che riguarda la condizione del IF , vorrei capire perche dopo "and" aggiungi "_" quale è la sua funzione?


    Grazie infinite per la pazienza
    - thisWorkbook restituisce sempre la cartella di lavoro in cui il codice viene eseguito.

    - il segno _ significa che la riga di codice prosegue sulla riga successiva

    ciao.

    se il tutto è a posto, ti pregherei di segnare la discussione come [RISOLTO]
    Vai nella barra dei menu, situata all'inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegli “Segna questo Thread come risolto”

    Grazie ancora per il riscontro e alla prossima.

    Ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  15. #13
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    ciao rieccomi, sto provando ad eseguire delle funzioni alla pressione del comando calcola al momento sto' cercando di eseguere quella che prima era consideranta la sub del comando calcola.

    non capisco pero' perchè non mi restituisce valori che sono relamente contenuti all'interno dela tabella.

    allego il codice
    Codice: 
    Private Sub Calcola_Click()
    Set wsh = ThisWorkbook.Worksheets("Foglio1")
    Set wsh1 = ThisWorkbook.Worksheets("Foglio2")
    Dim Costo_rimorchiatori As Double
    Dim GRT As Integer
    
    GRT = wsh.Range("B2").Value
    Costo_rimorchiatori = Calcolo_rimorchiatori(GRT)
    
    MsgBox Costo_rimorchiatori
                    
                   
    End Sub
    
    Function Calcolo_rimorchiatori(GRT As Integer) As Double
    
    
                    Dim i As Integer
                    Dim wsh As Worksheet, wsh1 As Worksheet
            
            
                    Set wsh = ThisWorkbook.Worksheets("Foglio1")
                    Set wsh1 = ThisWorkbook.Worksheets("Foglio2")
                                 
            
                    For i = 5 To 15
                        If wsh1.Range("A" & i).Value < GRT And _
                            wsh1.Range("B" & i).Value > GRT Then
                            Calcolo_rimorchiatori = wsh1.Range("C" & i).Value
                            
                        Else
                            If i = 15 Then
                            Dim appoggio, k As Double
                            k = 63.55
                            appoggio = Int(((peso - 50000) / 1000) - 0.000001) + 1
                            Calcolo_rimorchiatori = 3895.88 + (appoggio * k)
                            
                            End If
                            
                        End If
                    Next
                    
    
    End Function
    penso di essere nel giusto , nel senso che passo un parametro di tipo intero e il valore è di tipo intero anche all'interno della funzione,

    la funzione è di tipo Double è la variabile iniziale è di tipo double.

  16. #14
    L'avatar di sebyspadaro
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Sicilia
    Messaggi
    25
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    3
    risolto

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •