Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    33

    [VBA] uso worksheetfuncton (errore runtime 1004)

    Ciao a tutti,
    sto cercando di far fare una regressione lineare a una serie di dati per trovare i parametri che meglio approssimano una funzione.
    In particolare ciò mi serve perchè devo analizzare i dati che arrivano da una macchina di prova e vorrei avere delle statistiche.
    Mi sembra di aver definito tutto in amniera corretta, ma ottengo in continuazione un errore di cui non riesco a venire a capo.

    Ringrazio fin da ora chi mi desse una mano.

    Fabio

    codice:
    Sub Macro1()
    Start = 909
    maxi = 2641
    
    For i = Start To maxi+1
    defRange1 = "S" & i & ":S" & maxi
    defRange2 = "T" & i & ":T" & maxi
    R = Application.WorksheetFunction.RSq(defRange1, defRange2)
    If R >= 0.995 Then
        i = maxi
    End If
    Next i
    
    ActiveSheet.Cells(59, 31) = R
    End Sub
    Fabio

  2. #2

    Re: [VBA] uso worksheetfuncton (errore runtime 1004)

    Originariamente inviato da F@bio
    Ciao a tutti,
    sto cercando di far fare una regressione lineare a una serie di dati per trovare i parametri che meglio approssimano una funzione.
    In particolare ciò mi serve perchè devo analizzare i dati che arrivano da una macchina di prova e vorrei avere delle statistiche.
    Mi sembra di aver definito tutto in amniera corretta, ma ottengo in continuazione un errore di cui non riesco a venire a capo.

    Ringrazio fin da ora chi mi desse una mano.

    Fabio

    codice:
    Sub Macro1()
    Start = 909
    maxi = 2641
    
    For i = Start To maxi+1
    defRange1 = "S" & i & ":S" & maxi
    defRange2 = "T" & i & ":T" & maxi
    R = Application.WorksheetFunction.RSq(defRange1, defRange2)
    If R >= 0.995 Then
        i = maxi
    End If
    Next i
    
    ActiveSheet.Cells(59, 31) = R
    End Sub
    Nella funzione i due argomenti devono essere due Range, ma tu hai assegnato alle 2 defRangeX solo le stringhe che definiscono le celle, ovvero (ad es.) solo "A1:A9" anziché Range("A1:A9").

    Quindi:
    R = Application.WorksheetFunction.RSq(Range(defRange1) , Range(defRange2))

    Ciao !
    IceCube_HT (VB6 fan Club)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    33
    Ciao,
    ho provato a fare come mi hai suggerito,
    ma ottengo sempre: "Errore runtime 1004 - Impossibile trovare la proprietà RSq per la classe Worksheetfunction"

    Non sò come uscirne ...

    Ciao
    Fabio
    Fabio

  4. #4
    Originariamente inviato da F@bio
    Ciao,
    ho provato a fare come mi hai suggerito,
    ma ottengo sempre: "Errore runtime 1004 - Impossibile trovare la proprietà RSq per la classe Worksheetfunction"

    Non sò come uscirne ...

    Ciao
    Fabio
    Quell'errore viene fuori quando c'e' un qualunque problema con gli argomenti passati... posso suggerirti di fare delle prove per cercare di circoscrivere il problema, ad esempio:

    - elimina il ciclo For i;
    - definisci defRange1/2 con valori in cui SICURAMENTE ci sono dati significativi e corretti, tipo "S909:S930" e analogamente per T;
    - inserisci una riga come:
    codice:
    MsgBox Application.WorksheetFunction.RSq(Range(defRange1), Range(defRange2))
    che NON deve dare quell'errore, a meno di un dato incongruente nelle celle indicate (dato non numerico, ecc....)
    Se invece quell'errore persiste, il problema e' NEI DATI e non nel codice !!

    Ciao !
    IceCube_HT (VB6 fan Club)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    33
    sono riuscito ...
    ho aggirato il problema inserendo una formula, con le dovute cautele, nella cella in cui volevo scrivere quel risultato ...
    Non mi piace molto perchè fa tutto un ciclo di controllo e si vede la cella che continua ad aggionrarsi finchè non ottiene il valore voluto, ma è il meglio che potevo fare ...

    Ciao
    Fabio
    Fabio

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 © 2026 vBulletin Solutions, Inc. All rights reserved.