Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Excel07] Μετατροπή Ελληνικών χαρακτήρων σε Greeklis ή Αγγλικά.

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 24-01-17, 22:26
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή Μετατροπή Ελληνικών χαρακτήρων σε Greeklis ή Αγγλικά.

Κύριοι καλησπέρα σας,

Προσπαθώ να μετατρέψω τα δεδομένα ενός κελιού στο excel, από "ΜΕΛπογ7125", σε "MELpog7125".
Τα δεδομένα στο κελί (ή και κελιά) είναι πάντα με δέκα (10) χαρακτήρες και έχουν πάντα την ίδια διαμόρφωση (τα 3 πρώτα κεφαλαία, τα 3 επόμενα μικρά και τα 4 τελευταία αριθμός).
Υπάρχει συνάρτηση ή και VBA που μπορεί να δώσει αυτό το αποτέλεσμα;

Ευχαριστώ
Απάντηση με παράθεση
  #2  
Παλιά 25-01-17, 14:56
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Κώδικας:
Option Explicit
'Στο Array iFind, βάζουμε, ό,τι θέλουμε να αλλάξουμε.
'Στο Array iReplace, βάζουμε, αυτό με το οποίο θέλουμε να το αλλάξουμε.
'Δεκτό: συνδιασμοί χαρακτήρων πχ: Φ με Fi, τρ με TR
'Δεκτό: αριθμοί
'Δεκτό: multi language

'MatchCase:=True (διακρίνει κεφαλαία - πεζά)
'Αν MatchCase:=False (δεν διακρίνει κεφαλαία - πεζά)

'Τα δύο Array πρέπει να έχουν τις αντίστοιχες τιμές για αντικατάσταση πχ:
'Στην 2η θέση του iFind = "Ω"
'Στην 2η θέση του iReplace = "O"
'Σημαίνει αντικαθιστώ Ω με O

'ΣΗΜΕΙΩΣΗ:

'Στην έκφραση: Sh1.Cells(i, 1)
'Όπου Sh1. = Το κωδικό όνομα φύλλου
'Όπου 1 = Η στήλη φύλλου (1=a , 4=d κλπ)
'Αν το Option Explicit υπάρχει ήδη στον VBA editor, το παραβλέπουμε

Sub Multiple_Search_And_Replace()

    Dim iFind As Variant, iReplace As Variant
    Dim x As Long, i As Long, Lrow As Long

    iFind = Array("Σ", "Ω", "Γ", "Δ", "Φ", "Π", "ρ", "σ", "ξ", "ω", "22")

    iReplace = Array("S", "O", "G", "D", "Fi", "P", "r", "s", "ks", "o", "55")

    Lrow = Sh1.Cells(Rows.Count, 1).End(xlUp).Row

    For i = 1 To Lrow

        For x = LBound(iFind) To UBound(iFind)

            Sh1.Cells(i, 1).Replace What:=iFind(x), Replacement:=iReplace(x), _
                                    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, _
                                    SearchFormat:=False, ReplaceFormat:=False

        Next x

    Next i

End Sub 
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Εύρεση μη Ελληνικών χαρακτήρων σε κελί Οδυσσέας Excel - Ερωτήσεις / Απαντήσεις 5 15-04-13 16:35
[Συναρτήσεις] Μετατροπή ελληνικών γραμμάτων σε αντίστοιχους αριθμούς comsup Excel - Ερωτήσεις / Απαντήσεις 17 14-03-13 21:07
Μεταγραφή Ελληνικών λέξεων με Λατινικούς χαρακτήρες. ΚΩΣΤΑΣ Access - Ερωτήσεις / Απαντήσεις 0 07-06-11 18:32
Μετατροπή ελληνικών χαρακτήρων σε λατινικούς Χρήστος Access - Ερωτήσεις / Απαντήσεις 5 17-03-11 15:27
[ Ερωτήματα ] Εναλλαγή πληκτρολογίου από ελληνικά σε αγγλικά πατώντας το {F5} Jim Access - Ερωτήσεις / Απαντήσεις 5 18-07-10 20:28


Η ώρα είναι 16:14.