
10-09-11, 18:18
|
| Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2010 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 18-06-2010
Μηνύματα: 3.674
| |
Καλησπέρα στην παρέα
Τάσο διδάσκεις.
Έψαχνα να βρω πώς κάνοντας κλικ σ’ ένα κελί θα μεταφερθούμε σε άλλο και δε σκέφτηκα τις υπερσυνδέσεις.
Δοκιμάζοντας την προσαρμοσμένη συνάρτηση με τα δεδομένα του Τάσου διαπίστωσα ότι δε δίνει σωστά αποτελέσματα.
Υπάρχει μία αβλεψία. Αντέγραψα τον κώδικα της IF στην πρόταση ELSE, αλλά ξέχασα να τον προσαρμόσω.
Ο σωστός κώδικας είναι ο παρακάτω: Κώδικας: Public Function SumToTarget(Target As Range, SumRange As Range) As String
Dim c As Range, Sum1 As Double, Sum2 As Double, j As Long
Sum1 = 0: j = 0
For Each c In SumRange
Sum2 = Sum1 + c.Value: j = j + 1
If Sum2 >= Target.Value Then Exit For
Sum1 = Sum2
Next
If (Target.Value - Sum1) < (Sum2 - Target.Value) Then
SumToTarget = SumRange.Cells(j - 1, 1).Address
Else
SumToTarget = SumRange.Cells(j, 1).Address
End If
End Function
Τέλος άλλαξα και το συνημμένο στο προηγούμενο μήνυμά μου.
Φιλικά/Γιώργος
|