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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 05-06-15, 06:30
Όνομα: Μανώλης
Έκδοση λογισμικού Office: Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-10-2009
Περιοχή: Ηλιούπολη
Μηνύματα: 238
Προεπιλογή Αντικατασταση Γραμματων

Καλημέρα σε όλη την παρέα

Εχω φτιάξει την παρακάτω μακρο για να αντικαταστήσω ελληνικούς χαρακτήρες με αγγλικούς.

Sub ReplaceLetters i()

Columns("H:H").Select
Cells.Replace What:="Α", Replacement:="A"
Cells.Replace What:="Β", Replacement:="B"
Cells.Replace What:="Ε", Replacement:="E"
............................
End sub

Tο προβλημα μου είναι οτι ενω θέλω να γίνει η αλλαγή στη στήλη που επιλέγω , αυτο γίνεται σε όλες τις στήλες.

Τι έχω κάνει λάθος ?

Επίσης θα ήθελα αν γίνεται οτι αλλαγες γίνουν στα γράμματα να επισημανθούν πχ να γίνουν κόκκινα τα γράμματα που θα αλλαχθούν

Ευχαριστώ


ευχαριστώ

Τελευταία επεξεργασία από το χρήστη manolis : 05-06-15 στις 08:33.
Απάντηση με παράθεση
  #2  
Παλιά 05-06-15, 11:50
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Μανώλη, προτείνω να δοκιμάσεις τον παρακάτω κώδικα:

Κώδικας:
Option Explicit

Sub ReplaceGreekChars()
    Dim rng As Range, c As Range, i As Long
    Dim x As String, y As String

    Set rng = Range("H:H")

    For Each c In rng
        If Len(c) > 0 Then
            x = c: y = x
            y = Replace(Replace(Replace(y, "Α", "A"), "Β", "B"), "Ε", "E")
            If x <> y Then
                c = y
                For i = 1 To Len(x)
                    If Mid(x, i, 1) <> Mid(y, i, 1) Then
                        c.Characters(Start:=i, Length:=1).Font.Color = -16777024
                    End If
                Next
            End If
        End If
    Next
End Sub
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 05-06-15, 14:49
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Και μια παραλλαγή του κώδικα, που βελτιώνει την ταχύτητα:

Κώδικας:
Option Explicit

Sub ReplaceGreekChars()
    Dim rng As Range, c As Range, i As Long
    Dim x As String, y As String

    Set rng = Range("H1:H" & Cells(Cells.Rows.Count, 8).End(xlUp).Row)
    Application.ScreenUpdating = False
    For Each c In rng
        If Len(c) > 0 Then
            x = c: y = x
            y = Replace(Replace(Replace(y, "Α", "A"), "Β", "B"), "Ε", "E")
            If x <> y Then
                c = y
                For i = 1 To Len(x)
                    If Mid(x, i, 1) <> Mid(y, i, 1) Then
                        c.Characters(Start:=i, Length:=1).Font.Color = -16777024
                    End If
                Next
            End If
        End If
    Next
    Application.ScreenUpdating = True
End Sub
Απάντηση με παράθεση
  #4  
Παλιά 05-06-15, 22:04
Όνομα: Μανώλης
Έκδοση λογισμικού Office: Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-10-2009
Περιοχή: Ηλιούπολη
Μηνύματα: 238
Προεπιλογή

Καλησπέρα σε όλη την παρέα

Γιώργο σε ευχαριστώ για τις λύσεις που πρότεινες. Τις εφάρμοσα στο αρχείο μου και δουλευουν μια χαρά.

Οσο για το λάθος που έκανα στον δικό μου κώδικα βρήκα τi είναι.
Επρεπε αντι για cells έπρεπε να να βάλω selection

Καλό βράδυ
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Συνδυασμοί γραμμάτων alex Access - Ερωτήσεις / Απαντήσεις 10 18-07-14 19:55
[Συναρτήσεις] Μετατροπή ελληνικών γραμμάτων σε αντίστοιχους αριθμούς comsup Excel - Ερωτήσεις / Απαντήσεις 17 14-03-13 22:07
[ Φόρμες ] Αλλαγή γραμμάτων artchrist73 Access - Ερωτήσεις / Απαντήσεις 3 06-11-11 18:11
[Συναρτήσεις] Αναγνώριση και καταμέτρηση γραμμάτων στο κελί jimvai Excel - Ερωτήσεις / Απαντήσεις 3 30-11-10 13:36


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