Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Rilevare dati

  1. #1
    Lelaccio non  in linea Novello
    Ciao a tutti
    Sono molto inesperto per mi piacerebbe fare qualche programmino in Excel. Ora sono alle pre se con un problema 'devo rilevare dati da un foglio diverso da quello di lavoro, fare un somma di alcune celle dopo aver confrontato le date di altre celle; ho fatto questa macro che funziona solo la la lancio dal foglio dove sono i dati, ma non somma nessun campo.
    Dim Cel As Object
    Dim Tot, Caso As Variant
    Dim Ris As Date
    Dim Anno As Integer
    Ris = InputBox("Digita la data relativa all'anno che vuoi vedere ", "Agenzia L'Assistenza")
    Tot = 0
    With Worksheets("Ricevute")
    Set zona = Range([F3], [F3].End(xlDown))
    For Each Cel In zona
    If Cel.Value = Ris Then
    Tot = Tot + Sheets("Ricevute").Cel.Offset(0, -1).Value
    End If
    Next
    End With
    Anno = Ris
    MsgBox "Nell'anno " & Anno & " hai speso " & FormatNumber(Tot, 2), vbInformation, _
    "Assistenza"
    Mi potete aiutare a trovare l'errore? Grazie Lele
    ℹ️ Leggi di pi su Lelaccio ...

  2. #2
    LucaValcavi non  in linea Scolaretto
    Ciao Lele,

    forse Cel.Value non una data ma un intero, ed essendo 'Ris' definito come data la condizione non sar verificata...

    Ciao!
    Luca

  3. #3
    Lelaccio non  in linea Novello
    Grazie Luca del tuo interessamento
    ho provato a cambiare la variabile Ris ma ottengo lo stesso risultato e cio se eseguo la Macro dal foglio dove ci sono i dati tutto funziona regolare, se invece eseguo la Macro da un'altro foglio di "nella stessa cartella di lavoro" il risultato e 0.
    Non capisco proprio dove pu essere l'errore.
    Grazie a chiunque possa aiutarmi
    Ciao Lele
    ℹ️ Leggi di pi su Lelaccio ...

  4. #4
    LucaValcavi non  in linea Scolaretto
    Mi fai un esempio del contenuto del due fogli e del risultato che vorresto ottenere?

  5. #5
    Lelaccio non  in linea Novello
    Nel foglio2 ci sono dei dati di prodotti merceologici, come quantita prodotta, incasso parziale per prodotto, quantita per singoli prodotti ecc ecc, mentre nel foglio1 (foglio di lavoro) vengono elaborati questi dati, incasso mensile, annuale, media di produzione ecc ecc.
    A me servirebbe una Macro che mi evidenziasse in MsgBox quello che mi serve senza dover per forza selezionare il foglio che contiene i dati.
    Spero di essermi spiegato, ti ringrazio ciao Lele
    ℹ️ Leggi di pi su Lelaccio ...

  6. #6
    LucaValcavi non  in linea Scolaretto
    ... a me interessa solo un esempio di dati con poche righe (3 o quattro) e le colonne significative: non voglio sapere le intestazioni delle colonne, per intenderci.
    Questo perch con un esempio pratico ci si spiega meglio.
    Luca

  7. #7
    Lelaccio non  in linea Novello
    Esempio:
    A&nbsp ;B&nbs p;&nbs p; C&nbsp ;D&nbs p;E&nb sp;SettembrePagato il28/10/02&n bsp;24,00 186,00

    F

    2002
    OttobrePagato il26/11/02&n bsp;39,00 302,25 2002
    DicembrePagato il07/01/03&n bsp;31,00 240,252003
    GennaioPagato il07/02/03&n bsp;28,00 155,002003
    MarzoPagato il14/04/03&n bsp;14,50 112,382003
    AprilePagato il14/05/03&n bsp;27,50 213,132003
    questo e' un'esempio molto sintetico per significativo, la colonna interessata dal confronto la F (anno di riferimento) mentre quella dalla quale rilevare il totale annuo la E, anche la D pu interessare ma non prevista in questo esempio.
    Ciao Lele
    ℹ️ Leggi di pi su Lelaccio ...

  8. #8
    LucaValcavi non  in linea Scolaretto
    ... ho capito (credo) [img]smileys/smiley1.gif[/img] ma posso arrivare solo a dirti che - secondo me:

    1. sbagliata la riga:

    Tot = Tot + Sheets("Ricevute").Cel.Offset(0, -1).Value

    perch 'Cel' un oggetto che non centra nulla con Sheets("Ricevute").
    Se avessi solo un Foglio, giusto per intenderci, questa riga dovrebbe diventare cos:
    Tot = Tot + Cel.Offset(0, -1).Value

    2. A cosa serve il Blocco With-End With se poi, di fatto, non usi alcuna abbreviazione (il punto)?

    3. rimango ancora dubbioso sulla riga dove dici:

    if Cel.Value = Ris then...

    perch secondo me si stanno confrontando dati 'diversi'


    Scusa se ho detto delle stupidaggini.

    Ciao! [img]smileys/smiley1.gif[/img]
    LUca

  9. #9
    Lelaccio non  in linea Novello
    Hai ragione la prima riga sicuramente sbagliata
    Tot = Tot + Sheets("Ricevute").Cel.Offset(0, -1).Value
    avevo solo provato se funzionava da un'altro foglio.
    Per il resto ho provato diverse soluzioni ho convertito sia cel.value che ris con le funzioni Cint-CStr ecc senza per trovare la soluzione.
    Puoi consigliarmi tu qualche riga di codice oppure, come verificare che tipo dati sono contenuti in cel.value.
    Ciao Lele
    ℹ️ Leggi di pi su Lelaccio ...

  10. #10
    LucaValcavi non  in linea Scolaretto
    ... una cosa del genere?!

    Dim Cel As Object
    Dim Tot As Currency
    Dim Ris As String
    Dim Anno As Integer
    '
    'DEVI DIGITARE SOLO L'ANNO (ES. 1999)
    '
    Ris = InputBox("Digita la data relativa all'_ANNO_ che vuoi vedere ", "Agenzia L'Assistenza")
    Anno = CInt(Ris)
    Tot = 0
    Set zona = Range([F3], [F3].End(xlDown))
    For Each Cel In zona
    '
    ' LEGGE LA COLONNA CON SOLO L'ANNO (ES. 1999)
    '
    If Cel.Value = Ris Then
    Tot = Tot + Cel.Offset(0, -1).Value
    End If
    Next
    MsgBox "Nell'anno " & Anno & " hai speso " & FormatNumber(Tot, 2), vbInformation, "Assistenza"


    Ciao!
    Luca


+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Rilevare collisione (C)
    Da Shoot nel forum C/C++
    Risposte: 15
    Ultimo Post: 20-10-2020, 14:02
  2. Risolto: Rilevare parola in link
    Da CoolWiser nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 31-10-2011, 20:07
  3. Rilevare porte seriali
    Da SlowMarco nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 17-09-2008, 22:30
  4. [VB6] Rilevare suono
    Da dolcissimo nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 16-09-2008, 16:57
  5. Rilevare versione access in uso
    Da willysmb nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 16-01-2007, 14:33