Θέμα: Συναρτήσεις Αυτόματη ενημέρωση στηλών

Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 11-04-11, 15:24
Το avatar του χρήστη gr8styl
gr8styl Ο χρήστης gr8styl δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Φίλε Ζαχαρία,
νομίζω πρέπει να ξανασκεφτείς το ερώτημά σου και την οργάνωση των δεδομένων σου.

Είναι όπως τα έσοδα, έξοδα και το υπόλοιπο=ταμείο
όταν αυξάνεις τα έξοδα (πχ Sales στο παράδειγμά σου) θέλεις να μειώνεται το ταμείο (δηλ Stock στο παράδειγμά σου) δηλαδή τα έσοδα δεν πρέπει να αλλάζουν.
όταν αυξάνεις το ταμείο θέλεις να μειώνονται τα έξοδα δηλαδή πάλι τα έσοδα σταθερά.

Σου λείπει λοιπόν ο όρος "έσοδα" (Initial).

Για πες μας τί γίνεται λοιπόν με αυτό το Initial νομίζω λείπει από το αρχείο σου.

Για να συμβαίνουν οι αυξομειώσεις που λές θα πρέπει αυτό το Initial να είναι σταθερό και ίσο με με stock+sales.
Δηλαδή Stock=Initial-Sales και Sales=Initial-Stock.


Στο συνημμένο stock_1.xls λοιπόν εγώ έβαλα σταθερές τιμές στις στήλες D, G, και J και με τις 6 παρακάτω γραμμές κώδικα νομίζω έγινε το ζητούμενο.
(Δεξί κλικ στο όνομα του φύλλου για να επεξεργαστείς τον κώδικα)

Ο κώδικας είναι:
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Column
        Case 3, 6, 9 'columns C, F and I
            Cells(Target.Row, Target.Column + 2) = Cells(Target.Row, Target.Column + 1) - Target.Value
        Case 5, 8, 11 'columns E, H and K
            Cells(Target.Row, Target.Column - 2) = Cells(Target.Row, Target.Column - 1) - Target.Value
    End Select
End Sub
Δοκίμασε και πες μας.
Φιλικά
Θανάσης
Συνημμένα Αρχεία
Τύπος Αρχείου: xls stock_1.xls (34,5 KB, 92 εμφανίσεις)
Απάντηση με παράθεση