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/6645-emfanisi-arithmon.html)

ΔΗΜΗΤΡΙΟΣ 06-09-25 11:57

Εμφάνιση αριθμών
 
1 Συνημμένο(α)
Σας χαιρετώ!

Εχω γράψει κάποιον κώδικα ο οποίος θα μου εμφανισει κάπoιους αριθμούς στην στήλη G αλλά ο κώδικας δεν

λειτουργεί.Ισως να φταίει η διάταξη της εντολής next.Δεν μπορώ να δώσω λύση.

Σας ευχαριστώ πολύ!

ChrisGT7 06-09-25 12:48

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

Ο κώδικας δε λειτουργεί, γιατί δε δίνεις ποτέ τιμή στη μεταβλητή p με αποτέλεσμα να είναι πάντα ίση με μηδέν.

Αυτό σημαίνει πως η συνθήκη ελέγχου "p = 100000 * I + 10000 * J + 1000 * K + 100 * L + 10 * R + M" είναι πάντα ψευδής και οι δύο εντολές για τη μεταβλητή Τ και τη στήλη G δεν πρόκειται να εκτελεστούν ποτέ.

Τι ακριβώς χρειάζεσαι;

ΕΠΕΞΕΡΓΑΣΙΑ:
Μέσα στο αρχείο σου βρήκα την επισυναπτόμενη εικόνα. Έχει κάποια σχέση με το ζητούμενό σου;

ΔΗΜΗΤΡΙΟΣ 06-09-25 15:54

Οχι Χρήστο η εικόνα που είδες δέν έχει σχέση με το θέμα,απλά είναι κάτι παρόμοιο που είχα φτιαξει παλιά! Ξέχασα να το διαγράψω.Αυτό που χρειάζομαι είναι στη στήλη G να μου εμφανίσει
όλους τους εξαψήφιους με τους περιορισμούς που έχω βάλει,αν μπορεί να γίνει.θέλω τους εξαψήφιους που κάθε ψηφίο τους είναι μκρότερο απο το 6.Αν θέλεις μπορείς να μου διορθώσεις
τον κώδικα που έχω γράψει;
Σε ευχαριστώ!

ChrisGT7 06-09-25 17:23

Αν έχω καταλάβει σωστά, χρειάζεσαι όλους τους εξαψήφιους αριθμούς με ψηφία 0,1,2,3,4,5.

Δοκίμασε τον παρακάτω κώδικα αν σου φέρνει το επιθυμητό αποτέλεσμα:
Κώδικας:

Sub E3APSHFIOI()
    Dim I As Byte, J As Byte, K As Byte
    Dim L As Byte, R As Byte, M As Byte
    Dim T As Long: T = 1
   
    Application.ScreenUpdating = False
    For I = 1 To 5
        For J = 0 To 5
            For K = 0 To 5
                For L = 0 To 5
                    For R = 0 To 5
                        For M = 0 To 5
                            Range("G" & T).Value = Val(I & J & K & L & R & M)
                            T = T + 1
                        Next M
                    Next R
                Next L
            Next K
        Next J
    Next I
    Application.ScreenUpdating = True
End Sub


ΔΗΜΗΤΡΙΟΣ 06-09-25 20:22

Λειτουργεί θαυμάσια Χρήστο!
Ο κώδικας που έγραψα εγώ λειτουργεί για τετραψήφιους -τριψήφιους .Στην περίπτωση αυτή μου έβγαζε over flow!!!
Σε ευχαριστ'ω πολύ!!!


Η ώρα είναι 10:55.

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


Search Engine Optimization by vBSEO 3.3.2