Saltare certo num celle



  • Saltare certo num celle
    di Petitmimi data: 08/09/2010

    Salve a tutti! mi sono appena iscritta a questo forum ! mi sono ritrovata a dover "pasticciare" con vba per la mia tesi ma non lo uso da molto nonostante conosca excel abbastanza bene.
    sto cercando di risolvere un problema che sicuramente molti di voi riteranno banale e mi scuso sin da ora ma sono nuova all'approccio "excel+vba", come ho detto sopra!

    allora, il punto è questo.
    supponiamo di avere questo foglio excel:

    a b
    riga1 10 (sommo riga1-riga4)/4
    riga2 25 (sommo riga5-riga8)/4
    riga3 43
    riga4 89
    riga5 54
    riga6 98
    riga7 212
    riga8 311
    .....

    quello che vorrei fare è:
    - sommare nella casella b1 i valori delle prime 4 righe e dividerli per 4 cioè
    (a1+a2+a3+a4)/4
    - ripetere sempre questa operazione nella casella b2 che però copiata non restituisce (ovviamente)
    a4+a5+a6+a7
    bensì
    a2+a3+a4+a5

    sicuramente serve l'uso del ciclo "for...next" con un contatore i che ogni volta si incrementa di 3 (nella casella b1 infatti mi devo spostare di 3 celle in basso e 1 a sinistra, nella b2 invece mi devo spostare di 6 per raggiungere la casella con cui iniziare la somma e così via) e tutto questo dovrà essere ripetuto per ogni riga della colonna a ma non riesco ad impostarlo per bene...ormai ho un sacco di confusione in testa !!

    spero di essere stata abbastanza chiara ^_^ e che possiate aiutarmi :)!
    vi ringrazio sin da ora =)!



  • di Petitmimi data: 08/09/2010

    Dimenticavo: mi scuso per il titolo "ermetico" ma in così spazio non sapevo come scriverlo! richiama comunque quello che mi serve: un salto di 4 (o un qualsiasi altro numero) celle in una formula :)!



  • di Locate (utente non iscritto) data: 09/09/2010

    Ciao
    vista la tua richiesta ti posto una macro buttata li che fa al caso tuo da come ai posto la domanda vedi esempio di prova
    -----------------

    10 41,75
    25 168,75
    43 71,5
    89 22,25
    54
    98
    212
    311
    55
    66
    77
    88
    21
    22
    23
    23
    -------------------
    adesso fa solo 16 righe ma basta aumentare il ciclo for
    ciao da locate
     
    Sub sommax4edivide()
    Dim conta, riga
    conta = 0
    riga = 1
    For i = 1 To 16 ''Numero di righe da controllare
    For a = 1 To 4
    conta = conta + Cells(i, 1)
    i = i + 1
    Next a
    i = i - 1
    Cells(riga, 2) = conta / 4 ''scrive il valore sulla colonna B:B
    conta = 0
    riga = riga + 1
    Next i
    End Sub


  • Grazie *_*!
    di Petitmimi data: 09/09/2010

    Grazie infinite locate!!!!!!!
    l'ho testata e funziona alla grande :d!!
    mi hai davvero salvata =)!!!
    grazie ancora !!!