Problemi sul una macro



  • Problemi sul una macro
    di matty83 data: 26/12/2013 11:18:16

    Salve ho una macro dovrei sostituire una parte del codice,che scorrei dei dati che invece li vorrei asseganre io come potrei fare?
     
    Sub FLaIR()
    Dim VetAlfa(18), VetBeta(7)
    For i = 1 To 18
        VetAlfa(i) = Foglio3.Cells(i + 1, 1)
    Next i
    For i = 1 To 7
        VetBeta(i) = Foglio3.Cells(i + 1, 2)
    Next i
    indcol = 0
    For IndAlfa = 1 To 18
        For IndBeta = 1 To 7
            indcol = indcol + 1
            alfa = VetAlfa(IndAlfa)
            beta = VetBeta(IndBeta)
            Foglio2.Cells(1, 7) = alfa
            Foglio2.Cells(2, 7) = beta
            IndRig = 0
            Do
            
                IndRig = IndRig + 1
            Loop Until Foglio2.Cells(IndRig, 2) > 0.95
            TempInf = IndRig
            FatNorm = Foglio2.Cells(IndRig, 2)
            
            RigIni = TempInf + 1
            RigFin = 5115
            
            For indGio = RigIni To RigFin
                DoEvents
                somma = 0
                For k = 1 To TempInf
                    Pioggia = Foglio1.Cells(indGio - TempInf + k, 2)
                    Area = Foglio2.Cells(TempInf - k + 1, 3) / FatNorm
                    somma = somma + Pioggia * Area
                Next k
                Y = somma
                Foglio1.Cells(indGio, 3 + indcol) = Y
            
            Next indGio
        Next IndBeta
    Next IndAlfa
    End Sub
    



  • di patel data: 26/12/2013 12:05:40

    allega un file di esempio e spiega meglio cosa vuoi ottenere, non ho capito niente





  • di matty83 data: 26/12/2013 12:39:56

    Come posso inviarti il file visto che pesa più di 1 mb?



  • di matty83 data: 26/12/2013 12:47:40

    https://www.dropbox.com/s/9t6u8omjgi5kmfr/Macro%20FLAiR%20%281%29.xlsm
    vedi se riesci a vedere il link?



  • di patel data: 26/12/2013 15:54:41

    bello, pieno di grafici, ma le spiegazioni dove sono ?





  • di matty83 (utente non iscritto) data: 26/12/2013 17:21:43

    Ce una macro che mi chiama flair e legge i vari valori di alfa e beta dal foglio 3,ma io lo vorrei cambiare assegnando due valori e far girare la macro come è



  • di matty83 (utente non iscritto) data: 26/12/2013 17:23:47

    vorrei assegnare un valore di alfa e un valore di beta ed eseguire la macro



  • di patel data: 27/12/2013 08:10:49

    se ho capito bene prova questa, altrimenti sforzati di spendere più parole, non costa di più.
     
    Sub FLaIR()
    Dim VetAlfa(18), VetBeta(7)
    For i = 1 To 18
        VetAlfa(i) = Foglio3.Cells(i + 1, 1)
    Next i
    For i = 1 To 7
        VetBeta(i) = Foglio3.Cells(i + 1, 2)
    Next i
    indcol = 0
    
    alfa = Foglio3.Range("G1")
    beta = Foglio3.Range("G2") 
    
    For IndAlfa = 1 To 18
        For IndBeta = 1 To 7
            indcol = indcol + 1
            Foglio2.Cells(1, 7) = alfa
            Foglio2.Cells(2, 7) = beta
            IndRig = 0
            Do
            
                IndRig = IndRig + 1
            Loop Until Foglio2.Cells(IndRig, 2) > 0.95
            TempInf = IndRig
            FatNorm = Foglio2.Cells(IndRig, 2)
            
            RigIni = TempInf + 1
            RigFin = 5115
            
            For indGio = RigIni To RigFin
                DoEvents
                somma = 0
                For k = 1 To TempInf
                    Pioggia = Foglio1.Cells(indGio - TempInf + k, 2)
                    Area = Foglio2.Cells(TempInf - k + 1, 3) / FatNorm
                    somma = somma + Pioggia * Area
                Next k
                Y = somma
                Foglio1.Cells(indGio, 3 + indcol) = Y
            
            Next indGio
        Next IndBeta
    Next IndAlfa
    End Sub
    






  • di matty83 (utente non iscritto) data: 27/12/2013 09:08:16

    G1 eG2 sono i valori che vorrei dare io?cmq lo provo e ti faccio sapere



  • di patel data: 27/12/2013 09:42:34

    ce li hai messi tu nel file allegato, non io.





  • di matty83 (utente non iscritto) data: 27/12/2013 10:13:33

    Ciao scusami se mi sono espresso male,io vorrei assegnare nella procedura della macro flair due valori di alfa=1,2 e beta=20,al posto di utilizzare il range di valori presenti nel foglio 3,che successivamente vengono utilizzati nel foglio due per calcolare la funzione gamma e poi i valori calcolati nel foglio due vengono utilizzati per calcolare l'integrale nel relativo foglio 1, partendo dal valore della cella A2 fino alla cella a5115,non so se sono stato più chiaro



  • di patel data: 27/12/2013 12:11:04

    invece di
    alfa = Foglio3.Range("G1")
    beta = Foglio3.Range("G2")
    fai
    alfa=1.2
    beta=20





  • di matty83 (utente non iscritto) data: 27/12/2013 22:01:20

    Perfetto ho risolto,ultima cosa quando avvio la macro parte non dalla cella d2 a segnare i valori calcolati dalla cella d8come posso fare a risolverlo?



  • di patel data: 28/12/2013 09:14:17

    non capisco di cosa stai parlando, come già detto, spiega meglio, quale foglio, quale macro, riallega il file modificato chiamando i fogli col loro nome e non Foglio1, 2 3