Funkcja Excel – zamiana polskich znaków na łacińskie

Funkcja zamieniająca polskie znaki narodowe na ich łacińskie odpowiedniki.

Function CzyscPolskie(Dane As String) As String
Dim i As Integer
polskie = Array("ą", "ć", "ę", "ł", "ń", "ó", "ś", "ż", "ź", "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ż", "Ź")
angielskie = Array("a", "c", "e", "l", "n", "o", "s", "z", "z", "A", "C", "E", "L", "N", "O", "S", "Z", "Z")
For i = 0 To 17
Dane = WorksheetFunction.Substitute(Dane, polskie(i), angielskie(i))
Next i
CzyscPolskie = Dane
End Function

7 thoughts on “Funkcja Excel – zamiana polskich znaków na łacińskie”

  1. Oczywiście, że jest to VB, ale z racji, że używam jej tylko w Excelu to tak zatytułowałem wpis. Miałem dopisać co i jak należy wyklikać w Excelu ale zabrakło mi czasu.

  2. no to już jasne 🙂
    ja makro troszkę inne użyłem do zamiany znaków.

    A pozatym staram się użyć excela i VBS do zakładania kont w Active Directory.

  3. To działa jako funkcja użytkownika. Więc wstawiasz nową kolumnę obok tej do zmiany, wstawiasz w niej funkcję ze wskazaniem na komórkę obok i po sprawie.

  4. rem To działa w LibreOffice 🙂

    Option Explicit

    sub main

    end sub

    Function CzyscPolskie(Dane as String) As String

    Dim i As Integer
    Dim polskie$(20)
    Dim angielskie$(20)

    polskie$()=Array(“ą”,”ć”,”ę”,”ł”,”ń”,”ó”,”ś”,”ż”,”ź”,”Ą”,”Ć”,”Ę”,”Ł”,”Ń”,”Ó”,”Ś”,”Ż”,”Ź”)
    angielskie$()=Array(“a”, “c”, “e”, “l”, “n”, “o”, “s”, “z”, “z”, “A”, “C”, “E”, “L”, “N”, “O”, “S”, “Z”, “Z”)

    For i = 0 To 17

    Dane = ReplaceString(Dane,angielskie$(i),polskie$(i))

    Next i

    CzyscPolskie = Dane

    End Function

Comments are closed.