Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Εκτέλεση συνάρτησης (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/6512-ektelesi-synartisis.html)

Immortal 21-06-24 17:45

Εκτέλεση συνάρτησης
 
Καλησπέρα σας,

πως στο
Κώδικας:

Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Value = textbox1.Value
θα προσαρμόσω την συνάρτηση =IF(ISNUMBER($G3);COUNT($G$3:G3);"") ώστε όταν στο πρώτο κενό κελί της στήλης G εισαχθεί κάποιος αριθμός;

ChrisGT7 21-06-24 19:08

Καλησπέρα Νίκο,

Θέλεις να εισάγεις σε κάποιο κελί μέσω κώδικα τον παραπάνω τύπο;

Immortal 21-06-24 20:05

1 Συνημμένο(α)
Χρήστο καλησπέρα,
το συνημμένο το έχεις ξαναδεί, αλλά πρόκειται για άλλη σκέψη μου.
Στο υπάρχον φύλλο ΒΑΣΗ που καταχωρούμε τα δεδομένα, έχω σε αρκετές στήλες (και για 2002 σειρές) συναρτήσεις για να έρχονται αυτόματα κάποια στοιχεία.
Σκεφτόμουν αν με μία userform καταχωρούνται τα δεδομένα μιας διαδρομής, να καταχωρούνται και οι συναρτήσεις.
Δηλαδή, από την 3η γραμμή ναι και κάτω, και για κάθε στοιχείο που εισάγω στην φόρμα, να καταχωρούνται στην πρώτη κενή γραμμή κάθε φορά και οι συναρτήσεις.


*Οι συναρτήσεις που χρησιμοποιώ υπάρχουν στο συνημμένο, μόνο στην γραμμή 3 ενδεικτικά και τις έχω με αυτόματη προσαρμογή στο κελί.

ChrisGT7 21-06-24 21:15

Νίκο,

Αυτές οι συναρτήσεις θα μπορούσαν να προϋπάρχουν και στις 2000 γραμμές του χρυσού πίνακα και απλά με τη φόρμα να εισάγεις στις κενές στήλες τις τιμές του χρήστη.

Έχεις βλέπω IF() βάσει στήλης για επιστροφή κενού, οπότε στην εμφάνιση ο χρήστης θα βλέπω μονάχα τον πίνακα.

Για να εισάγονται με κώδικα θα πρέπει να τροποποιούνται κομμάτι-κομμάτι βάσει της τρέχουσας γραμμής που θα γίνει εισαγωγή η εγγραφή.

Έχεις ξεκινήσει να φτιαχνεις τον κώδικά σου να ανεβάσεις ένα δείγμα;

Immortal 21-06-24 21:37

Χρήστο ωραία, οπότε παραμένουν ως έχουν οι συναρτήσεις για αποφυγή χρονοτριβής κ θα καταχωρούνται τα υπόλοιπα.

Ως τώρα μόνο αυτό έχω δοκιμάσει, αλλά είχα κολλήσει με το θέμα των συναρτήσεων.
Θα ολοκληρώσω το θέμα της καταχώρησης κ αν μπλοκάρω κάπου θα επανέλθω.
Σε ευχαριστώ πολύ, καλό βράδυ

Immortal 22-06-24 20:44

1 Συνημμένο(α)
Καλησπέρα

Στο αρχείο έχω προσθέσει τις εντολές και με την φόρμα καταχωρώ τα δεδομένα στο φύλλο.
Ένα πρόβλημα που αντιμετώπισα είναι πως επειδή σε κάποιες στήλες (Ν:AC εκτός της W που είναι διαχωριστική στήλη) δεν καταχωρώ πάντα δεδομένα, όταν θα καταχωρήσω θα πάνε στην πρώτη γραμμή όπου και υπάρχουν κενά τα αντίστοιχα κελιά, και όχι ίδια γραμμή που θα περαστεί πχ το επώνυμο.

Αν είναι αυτό εφικτό ώστε να λυθεί και δεν είναι σπαζοκεφαλιά συνεχίζω με το επόμενο πρόβλημα.

Στην στήλη K έχω την συνάρτηση ώστε να υπάρχει το σύνολο χλμ για την κάθε κίνηση. Όταν όμως κάνω αναζήτηση και ενημέρωση μιας εγγραφής, σβήνεται η συνάρτηση αυτή. Υπάρχει τρόπος να μην σβήνεται;


Ενημερώνω το παρόν και το συνημμένο, έχοντας ανακαλύψει τι πήγε λάθος πριν. ΤΟ Option Explicit έκανε τη ζημιά για τη μη εκτέλεση του κώδικα
:035:

Immortal 23-06-24 20:06

1 Συνημμένο(α)
Καλησπέρα σε όλους!

Το παρακάτω το έλυσα και νομίζω πως δουλεύει όπως χρειάζομαι
Παράθεση:

Αρχική Δημοσίευση από Immortal (Μήνυμα 35826)
Ένα πρόβλημα που αντιμετώπισα είναι πως επειδή σε κάποιες στήλες (Ν:AC εκτός της W που είναι διαχωριστική στήλη) δεν καταχωρώ πάντα δεδομένα, όταν θα καταχωρήσω θα πάνε στην πρώτη γραμμή όπου και υπάρχουν κενά τα αντίστοιχα κελιά, και όχι ίδια γραμμή που θα περαστεί πχ το επώνυμο.

Το έλυσα και αυτό
Παράθεση:

Αρχική Δημοσίευση από Immortal (Μήνυμα 35826)
Στην στήλη K έχω την συνάρτηση ώστε να υπάρχει το σύνολο χλμ για την κάθε κίνηση. Όταν όμως κάνω αναζήτηση και ενημέρωση μιας εγγραφής, σβήνεται η συνάρτηση αυτή. Υπάρχει τρόπος να μην σβήνεται;

Εκτιμώντας πως οι γνώσεις μου δεν αγγίζουν ούτε στο ελάχιστο τις δικές σας, θα παρακαλούσα κάποια στιγμή που θα έχετε όρεξη και χρόνο να ρίξετε μια ματιά για τυχόν λάθη ή γραμμές που είναι άχρηστες :005:

ChrisGT7 23-06-24 21:37

1 Συνημμένο(α)
Καλησπέρα Νίκο,

Δοκίμασε το συνημμένο αρχείο αν σε καλύπτει. Τροποποίησα κάπως τον κώδικα και τον συμμάζεψα λίγο.

Μην υποτιμάς τη χρήση του Option Explicit. Ελέγχει τον κώδικα αν τυχόν υπάρχουν μεταβλητές που δεν έχεις δηλώσει και σε υποχρεώνει να τις δηλώσεις.

Στην εύρεση του Α/Α δε χρειάζεται πιστεύω να ελέγχεις και τις 2000 γραμμές για να βρεις μια γραμμή. Ο Α/Α είναι μοναδικός στη στήλη Β οπότε αν τον βρει, ενημερώνει τη γραμμή και τελειώνει η αναζήτηση. Χρησιμοποιώ τη μέθοδο Find για να βρω τη γραμμή και εμφανίζεται μήνυμα αν δε βρεθεί ο Α/Α που δηλώνει ο χρήστης.

Immortal 25-06-24 09:09

Καλημέρα και καλή εβδομάδα.
Χρήστο για άλλη μια φορά έγραψες! Ήμουν σίγουρος πως είχε λάθη και περιττά πράγματα μέσα ο κώδικας.
Δουλεύει άψογα σε ευχαριστώ πολύ για την βοήθεια. :thanks:


Η ώρα είναι 23:18.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2