Creare una specie di Database



  • Creare una specie di Database
    di dede89 (utente non iscritto) data: 02/03/2015 16:43:12

    Salve a tutti,
    io ho un file excel dove in un foglio mantengo aggiornati tutti i miei prodotti inserendo ed eliminando quotidianamente delle referenze, in un altro foglio ho per gli stessi prodotti delle altre caratteristiche necessarie per un altro tipo di lavoro. Praticamente ogni volta che elimino o aggiungo un prodotto dovrei manutenzionarmi entrambi i fogli, e siccome spesso ciò non succede, ho progettato delle macro che mi evidenziano le differenze tra i codici prodotto inseriti nei due fogli così ogni tanto sistemo tutto..... Vorrei, con il vostro aiuto, riuscire a creare una macro che in base all'eliminazione o all'aggiunta di un codice sul primo foglio mi aggiunga o elimini automaticamente il codice anche nel secondo foglio...riuscite ad aiutarmi??
    Vi allego la macro che uso ora per compare i due fogli...
    Grazie mille anticipatamente
     
    Sub compara()
    Dim R As Range, riga As Long, rigo As Long, LR1 As Long, LR2 As Long, c1 As String, c2 As String
    
    
        Set R = Nothing
        LR1 = Sheets("Referenze").Cells(Rows.Count, 4).End(xlUp).Row
        LR2 = Sheets("Schedone").Cells(Rows.Count, 5).End(xlUp).Row
        For rigo = 1 To LR1
                c2 = Sheets("Referenze").Cells(rigo, 4)
            For riga = 1 To LR2
                c1 = Sheets("Schedone").Cells(riga, 5)
            
                If c2 = c1 Then
                    If R Is Nothing Then
                        Set R = Sheets("Referenze").Cells(rigo, 4)
                    Else
                        Set R = Union(R, Sheets("Referenze").Cells(rigo, 4))
                    End If
                End If
            Next
        Next
        
        MsgBox "Finito "
        
        If Not (R Is Nothing) Then
            MsgBox "Ci sono celle che differiscono. Evidenzio le celle del Foglio Referenze che risultano diverse."
            R.Interior.ColorIndex = 6
        Else
            MsgBox "Controllo completato. Nessuna differenza rilevata tra Schedone e Referenze."
        End If
            
    End Sub
    



  • di Vecchio Frac data: 02/03/2015 17:11:30

    Il titolo che hai dato alla discussione non mi sembra molto attinente con la problematica esposta :o)
    Tu non devi creare un database, ce lo hai già, devi manutenerlo (non "manutenzionarlo") tenendo allineati due fogli di inserimento/modifica dati.
    Prova per cominciare ad allegare un file di esempio, con pochi dati e non reali, ma con la struttura originale del tuo file, in modo che ci si renda conto dello scenario e della complessità.
    Nel merito, poi, ti è venuta qualche idea su come imposteresti la macro di sincronizzazione tra i fogli?
    parti così: come la faresti manualmente? prova a descrivere i passi necessari. Poi li traduci(amo) in sintassi VBA.





  • MANUTENZIONARE UN DATABASE
    di dede89 (utente non iscritto) data: 05/03/2015 11:15:54

    Grazie VecchioFrank
    Ho allegato un file di prova...
    Praticamente ciò che vorrei è, secondo me, un worksheet change sulla colonna D del foglio referenze in modo che se se aggiungo un codice me lo copi nella prima riga libera della colonna E del foglio Schedone, se lo elimino me lo elimina e se lo modifico me lo modifichi...

    Spero di essermi spiegato