Ters yazılmış kelimeleri düze çevirme

X

xlsx

Misafir
Selam
A sütununda yer alan kelime(Malzeme Serisi) tersten okunacak şekilde mevcut.Bunu B sütununda düz okunacak şekilde kullanabilecegimiz formül ne olmalı arkadaşlar.
Kelimeler farklı uzunlukta
Örn :A1'de temha yazıyorsa B1'e onun tersi ahmet olarak yazsın.
Bu A1 de bulunan kelime- ahmet kara duman - gibi 3 farklı kelime olarak da yer alabiliyor.
Yardımınızı rica ederim.Tşk..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,060
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kullanıcı tanımlı fonksiyonu deneyin.

[vb:1:b66bf106aa]Function terscevir(adres)
deg = Len(adres)
For a = 1 To deg
cev = Mid(adres, a, 1) & cev
Next
terscevir = cev
End Function[/vb:1:b66bf106aa]
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif:

Kod:
Function TersYaz(Metin As String)
    TersYaz = StrConv(StrReverse(Metin), vbProperCase)
End Function
Ahmet Kara Duman gibi bir veriyi Namud Arak Temha olarak çevirir.

Eğer sonucun böyle değilde, kelimelerin yeri sabit kalacak şekilde herbiri kendi içinde ayrı ayrı tersten yazılsın istiyorsanız, yani sonucun Temha Arak Namud olmasını istiyorsanız o zaman, aşağıdakini kullanın.

Kod:
Function TersYaz2(Metin As String)
    x = Split(Trim(Metin))
    For i = LBound(x) To UBound(x)
        TersYaz2 = StrConv(TersYaz2 & " " & StrReverse(x(i)), vbProperCase)
    Next
End Function
 
Katılım
19 Mart 2006
Mesajlar
205
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba,

yapmış olduğunuz Functionları çalıştıramadım. Daha doğrusu bilmiyorum. Linkteki herhangi bir fonksiyonu çalıştırıp dosya şeklinde eklermisiniz.

Vb editöründe direk sayfaya olmadı, modül ekledim... Olmadı bilmediğim için yapamadım. Bu şekil fonksiyon nasıl çalışır bilmiyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kodları yeni bir modulün içine yapıştırın.

Sonra A1 hücresine Ahmet Kara Duman yazın.

Diğer bir hücreye geçin ve aşağıdaki formulü yazın;

=terscevir(A1)

Bir diğerine aşağıdaki formulü yazın;

=TersYaz(A1)

Başka bir hücreye de aşağıdakini yazın;

=TersYaz2(A1)
 
Katılım
19 Mart 2006
Mesajlar
205
Excel Vers. ve Dili
Excel 2007 Türkçe
Teşekkür ettim.

Function TersYaz2(Metin As String)


Anahtar bu yazılmasını istediğin hücreye =TersYaz2(Hücre Referansı)



Not: Açıklayıcı olması için kırmızı düzeltme tarafımca yapılmıştır.[Haluk ®]
 
X

xlsx

Misafir
Selam arkadaslar
Fonksiyon olarak kullanmak istemistim.Kodları deneyemiyorum iş yerinde güvenlik seviyesi yetki sorunu nedeniyle.
Ancak ben kendim daha sonra bir formül kullanarak bunu terse çevirebildim.
Dosya ekleyemiyorum ancak en kısa zamanda formül ile ilgili acıklamanın bulundugu dosyayı buraya eklerim.Cunku basarılı olsam da düzeltmem gereken bir kac nokta kaldı.Tşk..
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,536
Excel Vers. ve Dili
Ofis 365 Türkçe
İlk aklıma gelen çözümü uyguladım, belki daha kısa yolu olabilir.

20 karektere kadar olan uzunluktaki hücreleri ters çeviriyor. Daha fazlası olabilir mi denemek gerek.
 
X

xlsx

Misafir
Selam
Benim buldugum yöntemde de 30 adet yazım mümkün.
a2 hücresine Cevrilmesini istedigimiz metin yazılacak
D1 hücresine =IF($E$1<=F1;" ";MID($A$2;$E$1-F1;1)) ve asagıya kadar kopyalı olması gerekiyor.
Tabi bu formülün calısması icin
E1 hücresine =LEN(A2)
Ve F1 hücresinden aşagıya F sütununa 1den 100'e kadar rakamlar yazdırılmış olmalı.
H2 hücresinede sonucları birlestirmesi icin
=CONCATENATE(D1;D2;D3;D4;D5;D6;D7;D8;D9;D10;D11;D12;D13;D14;D15;D16;D17;D18;D19;D20;D21;D22;D23;D24;D25;D26;D27;D28;D29;D30)
yazılması gerekiyor..
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,536
Excel Vers. ve Dili
Ofis 365 Türkçe
Ben verdiğim örnekte 30 kadar yaptım, çalıştı, sanırım 40 da yapar
 
X

xlsx

Misafir
sizin yaptıgınız daha pratik Necdet Yesertener :) Ama yine de alternatifleri görmek bilgimizi daha da zenginleştiriyor.. :hey:
 
Katılım
29 Nisan 2006
Mesajlar
1
Alternatif Gerçi fonksiyonlar başlığında ama olsun. Bir siteden Alıntıdır

Sub pirText()
Dim strText As String, strReverseText As String
Dim intPos As Integer, intLen As Integer
strText = Selection.Text
intLen = Len(strText)
For intPos = 1 To Len(strText)
strReverseText = strReverseText & Mid(strText, intLen - intPos + 1, 1)
Next intPos
ActiveCell.FormulaR1C1 = strReverseText
End Sub
 
X

xlsx

Misafir
Hem formül hem de kod'lar ile başarılı oldu.Bu en son gönderilen Kod'da sorunsuz çalışıyor.Tşk.
 
Katılım
17 Ekim 2013
Mesajlar
1
Excel Vers. ve Dili
excell2003
arkadaslar excell de bır hucrede 123456 yazıyor yanında farklı bır hucreye 654321 yazdırma seklı nasıl olur konu acıl
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,536
Excel Vers. ve Dili
Ofis 365 Türkçe
arkadaslar excell de bır hucrede 123456 yazıyor yanında farklı bır hucreye 654321 yazdırma seklı nasıl olur konu acıl
Bu konu zaten bunu işliyor. İlk mesajlarda çözüm sunulmuş. onları okumadınız mı?
 
Katılım
22 Kasım 2013
Mesajlar
4
Excel Vers. ve Dili
2007 Türkçe
Yazıyı terse çevirme

Arkadaşlar, konuyu baştan beri okuyorum ama bir türlü halledemedim şunu yapmayı :( Bir ben mi beceremiyorum bunu? Excel de çok ileri değilim. Şunun formülünü direkt yazıp verebilecek biri var mı?

Ben A sütunundaki yazıları yanındaki sütuna tersinden yazdırmaya çalışıyorum.
Kod sayfasını açıp kodu yapıştırdıktan sonra ekstradan bir şey yapmam gerekiyor mu? Kodu yapıştırıyorum, sonra sayfaya tekrar geçiyorum, arkadaşların tarif ettiği gibi başka bir hücreye =terscevir(A1) yazıyorum ama #AD? yazıyor, doğru çalışmıyor. Neyi eksik ya da yanlış yapıyorum???
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Vba ekranına geçin Insert menüsünden Module ekleyip kodları eklenen bu bölüme yapıştırın. Bu işlemden sonra sayfaya yazdığınız fonksiyon çalışır. Eğer makro ayarlarınız yüksekse düşük yapınız.

Eğer yine olmazsa uyguladığınız halde hata aldığınız örneği o şekilde eklerseniz, hatanın nedenini daha kolay açıklayabiliriz.
 
Katılım
22 Kasım 2013
Mesajlar
4
Excel Vers. ve Dili
2007 Türkçe
Alternatif:

Kod:
Function TersYaz(Metin As String)
    TersYaz = StrConv(StrReverse(Metin), vbProperCase)
End Function
Ahmet Kara Duman gibi bir veriyi Namud Arak Temha olarak çevirir.

Eğer sonucun böyle değilde, kelimelerin yeri sabit kalacak şekilde herbiri kendi içinde ayrı ayrı tersten yazılsın istiyorsanız, yani sonucun Temha Arak Namud olmasını istiyorsanız o zaman, aşağıdakini kullanın.

Kod:
Function TersYaz2(Metin As String)
    x = Split(Trim(Metin))
    For i = LBound(x) To UBound(x)
        TersYaz2 = StrConv(TersYaz2 & " " & StrReverse(x(i)), vbProperCase)
    Next
End Function

Ömer Bey, bu yukardaki formüllerin ikisini de denedim. Modüle kodu yapıştırınca sayfada formüllerde artık TersYaz otomatik çıkıyor, ancak formülü yazıp çevrilecek hücreyi seçtikten sonra parantezi kapatınca yine #AD? hatası alıyorum. Neyi yanlış yaptığımı bir türlü anlayamadım :(

bana "makro ayarlarınızı yüksekse düşük yapın" dediniz ancak ben makro ayarlarını bulamadım. Makro kısmına girdiğimde sadece kaydet ve görüntüle var.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Makro güvenlik ayarlarınız düşük mü?
Eğer düşükse, kodları ve formülü uyguladıktan sonra hata aldığınız şekli ile dosyanızı ekleyebilir misiniz.
 
Üst