Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Αυτόματη συμπλήρωση κελιών

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 15-10-24, 09:01
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-06-2013
Μηνύματα: 221
Προεπιλογή Αυτόματη συμπλήρωση κελιών

Καλημέρα σε όλους

Θέλω στο Excel με κώδικα VBA, να κάνω τα παρακάτω:

Έχω σε ένα κελί έναν ακέραιο Π.χ. στο G10. Θέλω να διαβάζει αυτό το κελί και στη συνέχεια να μου τυπώνει τους αριθμούς από το 1 μέχρι και τον ακέραιο που είχε στο G10, αρχίζοντας από το Ι10 και σε αυτήν την γραμμή.

Για παράδειγμα εάν βάλουμε στο G10 το 3, να πάει στο I10 και να βάλει 1 , μετά στο J10 και να βάλει 2 μετά στο K10 και να βάλει 3.
Εάν βάλω στο G10 το 100, να πάει στα κελιά I10 έως το DD10, όπου θα έχει από το 1 έως το 100 (στο I10 το 1 και στο DD το 100).

Παράλληλα θέλω αυτά σε αυτά τα κελιά που συμπληρώνονται να μπαίνει και περίγραμμα.

Ευχαριστώ.
Απάντηση με παράθεση
  #2  
Παλιά 15-10-24, 09:37
Το avatar του χρήστη ChrisGT7
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 949
Προεπιλογή

Καλημέρα Γιώργο,

Θεωρώ πως το ζητούμενό σου μπορεί να επιτευχθεί χωρίς VBA και μόνο με τη χρήση απλών τύπων και μορφοποίησης υπό όρους.

Ρίξε μια ματιά στο συνημμένο αρχείο αν σε καλύπτει κι αν όντως χρειάζεσαι μόνο VBA, τότε με ενημερώνεις.

Έχω βάλει όριο μέχρι το 500. Για περισσότερους αριθμούς, απλά τράβα το τελευταίο κελί της στήλης Ι ή σβήνε τις περιττές γραμμές για λιγότερους.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx ΚΑΤΑΜΕΤΡΗΣΗ.xlsx (16,3 KB, 8 εμφανίσεις)
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση
  #3  
Παλιά 15-10-24, 12:23
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-06-2013
Μηνύματα: 221
Προεπιλογή

Ευχαριστώ Χρήστο

αλλά θέλω με κώδικα.

Με τύπους το έχω κάνει και εγώ.

Υ.Γ.

Οι αριθμοί να βγαίνουν σε γραμμή, οριζόντια και όχι κάθετα.


Ευχαριστώ.
Απάντηση με παράθεση
  #4  
Παλιά 15-10-24, 12:53
Το avatar του χρήστη ChrisGT7
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 949
Προεπιλογή

Για δοκίμασε τον παρακάτω κώδικα:
Κώδικας:
Sub KATAMETRHSH()
    Dim I As Long, C As Long
    
    If Not IsNumeric([G10]) Then
        MsgBox "Μη έγκυρος αριθμός!", vbCritical
        Exit Sub
    Else
        I = Abs(Int([G10]))
    End If
    
    Range([I10], Cells(10, Columns.Count)).ClearContents
    For C = 1 To I
        Cells(10, 8 + C).Value = C
    Next
End Sub
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση
  #5  
Παλιά 15-10-24, 13:45
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-06-2013
Μηνύματα: 221
Προεπιλογή

Πολύ ωραίο Χρήστο

Ευχαριστώ

απλά δεν μπήκαν και τα περιγράμματα των κελιών.

Υ.Γ.

Από περιέργεια

μπορούμε να ορίσουμε με κάποιο τρόπο ένα μεταβλητό Range(), κρατώντας το γράμμα της σειράς και ενώνοντάς το με έναν αριθμό.

Κάτι σαν Range("A "I"), ;όπου το Α είναι τα κελιά της στήλης Α και το I, θα δίνεται σε κάποιο κελί σαν αριθμός ή θα υπολογίζεται από κάποιο loop; Να τα ενώνει δηλαδή. Δηλαδή Ι=5, και να βγάζει Range("A5")

Ευχαριστώ.
Απάντηση με παράθεση
  #6  
Παλιά 15-10-24, 14:02
Το avatar του χρήστη ChrisGT7
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 949
Προεπιλογή

Εντός της ημέρας θα ανεβάσω και τον κώδικα με περιγράμματα, γιατί όντως το ξέχασα αυτό το στοιχείο!

H ιδιότητα Cells(A,B) είναι ίδια με τη Range() και αναλύεται ως εξής:

Α: είναι ο αριθμός της γραμμής
Β: είναι ο αριθμός της στήλης

Οπότε μπορείς να κάνεις μερικές δοκιμές να δεις πως λειτουργεί.

Στον παραπάνω κώδικα χρησιμοποιώ Cells(10, 8+C), όπου αντιστοιχεί στη γραμμή 10 και στη στήλη 8+C με το C να αυξάνεται μέσω του βρόγχου For... Next με αποτέλεσμα να μεταβάλλεται συνεχώς η στήλη ξεκινώντας πάντα από την 9η (8+1).

Κάτι τέτοιο χρειάζεσαι;
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση
  #7  
Παλιά 15-10-24, 21:24
Το avatar του χρήστη ChrisGT7
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 949
Προεπιλογή

Γιώργο,

Δοκίμασε το συνημμένο αρχείο αν καλύπτει τις ανάγκες σου.

Μαζί με τα περιγράμματα, πρόσθεσα και την επιλογή για οριζόντια (στήλες) ή κάθετη (γραμμές) αρίθμηση για να δεις πως λειτουργούν τα μεταβλητά εύρη.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm ΑΡΙΘΜΙΣΗ.xlsm (18,9 KB, 17 εμφανίσεις)
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση
  #8  
Παλιά 16-10-24, 08:49
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-06-2013
Μηνύματα: 221
Προεπιλογή

Άψογο Χρήστο ευχαριστώ

Να σε ρωτήσω και κάτι, το κουμπί "ΑΡΙΘΜΗΣΗ" που πατάμε για να τρέξει το πρόγραμμα, πως συνδέεται με τον κώδικα. Δεν βρήκα κάπου μέσα "ΑΡΙΘΜΗΣΗ"

Ευχαριστώ.

Υ.Γ.

Αυτό με το CELLS() και το RANGE(), εννοούσα, αν μπορούμε ενώνοντας ένα αλφαριθμητικό π.χ. το Α με έναν ακέραιο ι, π.χ το 23, να κάνουμε μια πραγματική αναφορά στο κελί Α23.

Κάτι σαν "Α" & 23 =Α23 (το κελί Α23. Να βγάζουμε δηλαδή κελιά ενώνοντας γράμμα με αριθμό. )

Ευχαριστώ για την υπομονή σου.
Απάντηση με παράθεση
  #9  
Παλιά 16-10-24, 10:02
Το avatar του χρήστη ChrisGT7
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 949
Προεπιλογή

Καλημέρα Γιώργο,

Βάζοντας οποιοδήποτε σχήμα μέσα στο φύλλο εργασίας και κάνοντας διπλό κλικ πάνω του, υπάρχει η επιλογή Αντιστοίχιση μακροεντολής...

Από εκεί επιλέγουμε τις δημόσιες υπορουτίνες που έχουμε φτιάξει με κώδικα, οι οποίες θα εμφανιστούν με τα ονόματα που τους έχουμε δώσει.

Δεν θα εμφανιστούν οι ιδιωτικές υπορουτίνες, οι οποίες δηλώνονται με τη λέξη Private αριστερά από τη λέξη Sub κατά τη δημιουργία τους.

Μερικά παραδείγματα αναφοράς σε κελιά ή εύρη μέσα από τον κώδικα:

1) Range("A23"): κελί A23

2) Cells(45,4) ή Cells(45,"D"): κελί D45

3) Range("B10:B20"): εύρος Β10:Β20

4) Range("F" & I): Οι μεταβλητή Ι είναι ακέραιος αριθμός, όπου μεταβάλλεται ανάλογα τις ανάγκες μας μέσω κώδικα, π.χ. μέσω επαναληπτικού βρόγχου, μέσω αναφορών σε άλλα κελιά κ.τ.λ. Το συγκεκριμένο κελί θα είναι π.χ. F77, όπου I = 77.

5) Range("D" & X & ":E" & Y): Οι μεταβλητές X & Y είναι αριθμοί, όπου μεταβάλλονται ανάλογα τις ανάγκες μας μέσω κώδικα, π.χ. μέσω επαναληπτικού βρόγχου, μέσω αναφορών σε άλλα κελιά κ.τ.λ. Το συγκεκριμένο εύρος θα είναι π.χ. D10:E20, όπου Χ = 10 και Υ = 20.

H χρήση των Cells() και Range() εξαρτάται ανάλογα τον τρόπο που θα δημιουργούμε τα εύρη στον κώδικά μας αλλά γενικά η Cells() είναι ταχύτερη από τη Range(), γιατί χρησιμοποιεί κυρίως αριθμούς.

Στην περίπτωσή σου, θεωρώ πως τα 1), 2) και 4) καλύπτουν το ζητούμενό σου για αναφορά σε ένα μόνο κελί.
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση
  #10  
Παλιά 16-10-24, 10:16
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-06-2013
Μηνύματα: 221
Προεπιλογή

Ευχαριστώ Χρήστο
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αυτόματη συμπλήρωση κελιών με IF aggelaki83 Excel - Ερωτήσεις / Απαντήσεις 5 24-04-20 23:18
[Συναρτήσεις] Αυτόματη συμπλήρωση κελίων tonisgolf Excel - Ερωτήσεις / Απαντήσεις 1 10-05-16 18:29
[Γενικά] Αυτόματη συμπλήρωση κελιών mp3-GR Excel - Ερωτήσεις / Απαντήσεις 9 08-02-16 11:25
[Συναρτήσεις] Αυτόματη συμπλήρωση κελιών rmaria Excel - Ερωτήσεις / Απαντήσεις 2 25-11-12 22:59
[Συναρτήσεις] Αυτόματη συμπλήρωση κελιών PanosPan Excel - Ερωτήσεις / Απαντήσεις 5 30-04-10 14:06


Η ώρα είναι 19:52.