Somma Dati



  • Somma Dati
    di BS (utente non iscritto) data: 15/07/2015 11:37:00

    Buongiorno
    mi ricollego ad una richiesta che ho fatto al 06/07/15 (inserimento dati)
    dove ho avuto un'eccellente risposta da Vecchio Frac
    volevo chiedere se al posto di inserire il dato si potrebbe inserire la somma del mio input con quello già contente la cella d'intersezione
    allego la mia "sub" (che non è nient'altro quella datami con variante di sprotezione fogli)
    In pratica vorrei sommare quello che immetto nella cella "X10" a quello che già sarebbe presente nella cella di intersezione (nomi / magazzini)

    altra richiesta se non è troppo:
    sarebbe possibile inserire, con lo stesso principio e nello stesso foglio, dati con altre condizioni di ricerca (righe/colonna)?
    mi spiego, in altra intersezione data da Nomi (stesso range precedente) e Q.tà (altre due colonne "adiacenti" e non vicine al range magazzini) dovrei inserire altri dati.

    ringrazio infinitamente
    buona giornata
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, row1 As Long, col1 As Long
    Application.Run "SProteggi_Fogli"
        If Intersect(Target, Range("X10")) Is Nothing Then Exit Sub
        
        Application.EnableEvents = False
        Set c = Range("Nomi").Find(Range("X9"))
        If c Is Nothing Then
            MsgBox "Nominativo non trovato."
            Exit Sub
        End If
        
        row1 = c.Row
        
        Set c = Range("Magazzini").Find(Range("X8"))
        If c Is Nothing Then
            MsgBox "Magazzino non trovato."
            Exit Sub
        End If
        
        col1 = c.Column
        
        Cells(row1, col1) = Range("X10")
        
        Application.EnableEvents = True
        Application.Run "Proteggi_Fogli"
    
    End Sub



  • di totygno71 data: 15/07/2015 11:53:08

    Per la prima domanda se non ho capito male la tua richiesta e se ho interpretato il codice di VF basta modificare il codice così:
    per la seconda richiesta invece non ho capito bene cosa vorresti ottenere forse qualcuno che ha seguito la precedente discussione saprà risponderti...
    Ciao Toty
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, row1 As Long, col1 As Long
    Application.Run "SProteggi_Fogli"
        If Intersect(Target, Range("X10")) Is Nothing Then Exit Sub
        
        Application.EnableEvents = False
        Set c = Range("Nomi").Find(Range("X9"))
        If c Is Nothing Then
            MsgBox "Nominativo non trovato."
            Exit Sub
        End If
        
        row1 = c.Row
        
        Set c = Range("Magazzini").Find(Range("X8"))
        If c Is Nothing Then
            MsgBox "Magazzino non trovato."
            Exit Sub
        End If
        
        col1 = c.Column
        
        Cells(row1, col1) = Cells(row1, col1) + Range("X10")
        
        Application.EnableEvents = True
        Application.Run "Proteggi_Fogli"
    
    End Sub



  • di BS (utente non iscritto) data: 15/07/2015 12:43:12

    grazie mille totygno .. per la prima risposta .
    in riferimento alla seconda , praticamente nello stesso foglio, vorrei inserire altri dati in altre celle.
    ho provato ad inserire altra "sub" simile a quella già indicata dando riferimenti di celle diverse .. ma, le due sub vanno in conflitto .
    c'è un sistema per far funzionare due inserimenti diversi nello stesso foglio con lo stesso criterio di "sub"?


    grazie ancora
    dei vostri consigli



  • di totygno71 data: 15/07/2015 12:47:18

    Posta quello che hai fatto, magari si capisce meglio...



  • di alfrimpa data: 15/07/2015 13:47:59

    @ B

    Considerazione di carattere generale:

    Su uno stesso foglio non è consentito l'inserimento di più procedure Worksheet_Change(); questa deve essere unica.

    Poi, all'interno di questa, vanno gestite le varie situazioni magari con il metodo Intersect.

    Alfredo





  • di BS (utente non iscritto) data: 15/07/2015 13:51:58

    ho inserito un file di esempio.
    nella sub del foglio 1 avevo inserito la funzione "If"
    in modo che quando inserisco qualcosa nella cella "A1" dovrebbe farmi un inserimento diversamente doveva farmi l'altro tipo di inserimento ...
    purtroppo sbaglio qualche comando e ne funziona solo un inserimento



  • di BS (utente non iscritto) data: 15/07/2015 14:08:09

    ok.. ho trovato errore ..
    devo inserire questo
    If Range("A1").Value = "1" Then

    e NON
    if target.address ...

    grazie mille a tutti per la vostra disponibilità

    ora funge come volevo..
    ahahah