Εμφάνιση ενός μόνο μηνύματος
  #12  
Παλιά 12-11-16, 12:17
alex Ο χρήστης alex δεν είναι συνδεδεμένος
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Γιώργο καλημέρα,
δοκίμασα και τις 2 περιπτώσεις είναι εντυπωσιακό. Χθές το βράδυ κοίταξα λίγο και για τις Regular Expressions να δώ πως είναι ο κώδικας , διαφορετική μορφή.
Εντόπισα και ένα λάθος ακόμη
Ο Κώδικας στο module αυτό εμφανιζει τους αριθμούς
ΠΧ 1234 4567 με μορφή #1234 #4567 προσθέτει αριθμοδείκτη
Πως μπορώ να ενσωματώσω κώδικα πανω σε αυτό το module γιατί αντιμετωπίζω πρόβλημα μόνο στη περίπτωση που είναι δεκαδικό ΠΧ 12,256 μου εμφανίζει #12,#256
Ενώ εγώ θέλω όταν υπάρχει ο χαρακτήρας κόμμα (,) ανάμεσα σε αριθμό να φαίνεται σαν ένας αριθμός ΠΧ #12,256 διότι το εκλαμβάνει σαν δεύτερο αριθμό.
Να του πούμε όταν υπάρχει ο χαρακτήρα (,)κόμμα πρίν και μετα από δύο αριθμούς χωρίς κενό να μην προσθέτει αριθμοδείκτη μετα το κόμμα(,) ΠΧ #12,256 ΚΑΙ ΟΧΙ #12,#256 ανυπήρχε ένα κενο μετα το κόμμα(,) θα ήταν της μορφής #12, #256
ΑΠΟΣΠΑΣΜΑ ΤΗΣ FUNCTION TOY MODULE
Κώδικας:
Case Else
                If IsNumeric(CURRENT_CHAR) = True Then  'EINAI ARITMOS
                    '              If i > 1 Then

                    Dim j As Long
                    Dim my_char As String
                    Dim my_temp_number As String

                    my_temp_number = ""

Dim my_num1 As Variant, my_num1_trans As Variant

my_num1 = "1234567890"
my_num1_trans = "abcdefghij"

                    For j = i To lngLen
                        my_char = Right(Left(strChars, j), 1)
                        If IsNumeric(my_char) = True Then  'EINAI ARITMOS
                         If my_char = "0" Then
                            my_temp_number = my_temp_number & Right$(my_num1_trans, 1)
                         Else
                            my_temp_number = my_temp_number & Right$(Left$(my_num1_trans, CInt(my_char)), 1)
                         End If
                         
                        Else    'telos oi aritmoi
                            Exit For
                        End If
                    Next j

                    strTemp = strTemp & "#" & my_temp_number
                    i = j

                    If i < lngLen Then GoTo next_char Else GoTo final1
                    'End If
                Else
End If
        End Select
    Next


final1:
    Transliterate1 = strTemp
End Function
Απάντηση με παράθεση