Visualizzazione dei risultati da 1 a 10 su 10

Discussione: creare macro excel

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371

    creare macro excel

    non ho mai fatto macro od utilizzato il vba e infatti sto diventando scemo per fare una stupidissima macro.
    fin'ora ho fatto questo e funziona:

    Sub CicloDo()
    Dim PERCENTUALE As single
    dim CONT as integer
    dim ETA as integer
    ETA=26
    CONT=21
    PERCENTUALE = 100
    Do While CONT <ETA
    PERCENTUALE=PERCENTUALE-(PERCENTUALE/100*25)
    CONT=CONT+1
    Loop
    End Sub

    ho scopiazzato un po' qua e là, il problema è che la variabile ETA la dovrebbe leggere dalla cella B24 e dovrebbe stamparmi il risultato di percentuale su la cella C30...

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Cosa vuoi ottenere di preciso? Dal codice non si capisce molto.
    Magari basta una formuletta senza scomodare vba.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    allora io sul foglio di excel ho un'età scritta e in pratica dovrei fare un ciclo che parte da 21 e prosegue finché non si raggiunge il valore pari a l'età e durante questo ciclo deve fare questa operazione:
    PERCENTUALE=PERCENTUALE-(PERCENTUALE/100*25)
    alla fine del ciclo deve scrivermi il contenuto della variabile PERCENTUALE su una cella

    P.S.:il CONT l'avevo messo per fare delle prove e mi sono scordato di toglierlo, non centra nulla con quello che devo fare io

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da davidinho
    allora io sul foglio di excel ho un'età scritta e in pratica dovrei fare un ciclo che parte da 21 e prosegue finché non si raggiunge il valore pari a l'età e durante questo ciclo deve fare questa operazione:
    PERCENTUALE=PERCENTUALE-(PERCENTUALE/100*25)
    alla fine del ciclo deve scrivermi il contenuto della variabile PERCENTUALE su una cella
    Capito meno di prima, mi spiace.

    Se vuoi carica un file di esempio qui

    http://www.myfreefilehosting.com/

    magari commentato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    come faccio a commentare qualcosa se non ho nulla ancora xD
    per il CONT mi sono sbagliato, ero talmente stanco che mi ero confuso, mi serve, ora ti spiego meglio:

    su un foglio excel ho una variabile A maggiore di 21
    prima cosa inizializzo la variabile PERCENTUALE=100 dopodiché devo fare un ciclo con un contatore che parte da 21 ed avanza finché è minore od uguale alla variabile A ( while contatore<=A )
    durante questo ciclo mi deve eseguire questa operazione:
    PERCENTUALE=PERCENTUALE-(PERCENTUALE/100*25)
    alla fine del ciclo mi deve scrivere su una cella il risultato finale di PERCENTUALE



    te lo provo a scrivere con una pseudo-codifica:

    INIZIO
    A= (caricare dalla cella sul foglio excel)
    PERCENTUALE=100
    i=21
    mentre (i<=A)
    {
    i=i+1
    PERCENTUALE=PERCENTUALE-(PERCENTUALE/100*25)
    }
    scrivi risultato PERCENTUALE in una cella del foglio
    FINE

    ora è chiaro???

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    puoi fare un esempio pratico ? da cosa parti e quale sarà il risultato finale e soprattutto a cosa serve.
    Anche io non ho capito e credo che anche tu abbia le idee poco chiare.
    In linea di massima comunque Excel non è molto adatto per questo tipo di calcoli che comunque possono essere fatti col Risolutore

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Fai questa prova.

    Inserisci in un modulo questo codice

    codice:
    Function cicla_eta(eta As Range) As Double
    Dim cont As Integer
    Dim percentuale As Double
    
    cont = 21
    percentuale = 100
    
    Do While cont <= eta
        percentuale = percentuale - (percentuale / 100 * 25)
        cont = cont + 1
    Loop
    cicla_eta = percentuale
    End Function
    e richiama la funzione come se fosse nativa di excel

    =cicla_eta(a1)

    Facci sapere.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    quello detto da nicola75ss funziona perfettamente, grazie mille
    solo una cosa, è possibile fare in modo che percentuale non vada lavorare oltre i millesimi???

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Con la funzione round() arrotondi al numero di cifre decimali che vuoi

    cicla_eta = Round(percentuale, 3)


  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    grazie, mi sei stato di grandissimo aiuto

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.