aggiornare colonna se



  • aggiornare colonna se
    di biss73 (utente non iscritto) data: 21/01/2015 00:15:13

    ciao,
    ancora di nuovo a chiedere "aiuto" o più semplicemente un vostro formidabile parere
    spiego:
    aggiornando su un foglio i dati della colonna I (per un numero di riga non definito es. riga 170 a scendere sempre più giu ) possibile creare una macro che mi vada a leggere la riga che contiene una stringa nella colonna I e nella col. A mi legga la cella prima ( che contiene un numero) e la incrementi di +1???

    es. riga 170 col. I aggiungo ( facendo un copiaincolla) 5 o più righe e nella col. A ho un numero paria a 190
    risultato che vorrei ottenere:
    col I Riga 175 Piena ( tramite al copiaIncolla)
    col. A ( il numero incrementato di + 5 o più pari alle righe della col. I )
    In attesa di un suggerimento o di una macro da cui prendere spunto ringrazio anticipatamente
    Saluti




  • di Lucas87 data: 21/01/2015 08:33:36

    Ciao
    Serve un file per capire come sono disposti i dati



  • di biss73 (utente non iscritto) data: 21/01/2015 10:21:40

    Ciao, Allego subito un file di esempio con dei commenti
    grazie



  • di Lucas87 data: 21/01/2015 14:29:48

    Anche così non ho capito nulla


  • aggiornare colonna se
    di rafdepet data: 21/01/2015 15:59:43

    ho provato questa nelle celle a

    =STRINGA.ESTRAI(I11;1;21)&INT(STRINGA.ESTRAI(I11;21;4))+5 ' oppure il valore di incremento che vuoi



  • di Vecchio Frac data: 21/01/2015 16:58:09

    Perchè non provare intercettando l'evento Change del foglio?
    Il codice seguente però fallisce se si tenta di copiare più di una cella.
    Ma se con "incollo da un file" intendi che leggi un dato alla volta e lo copi cella per cella in colonna I, allora funziona.
     
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
        If Target.Row = 1 Then Exit Sub
        If Target = "" Then Exit Sub
        
        Cells(Target.Row, "A") = Cells(Target.Row - 1, "A") + 1
    
    End Sub
    






  • di biss73 (utente non iscritto) data: 23/01/2015 00:10:05

    Grazie Vecchio Frac
    non è quello che cercavo di ottenere però posso adattare il tutto alle mie esigenze
    ancora una volta grazie 1000
    saluti