MetneÇevİr

Katılım
11 Ocak 2008
Mesajlar
16
Excel Vers. ve Dili
windows xp türkçe
arkadaşlar access 'te excel fonksiyonu olan METNEÇEVİR formülü kullanılıyormu.eğer varsa örnek accees programında açıklar mısınız?
 
Katılım
17 Ocak 2008
Mesajlar
185
Excel Vers. ve Dili
2003 Türkçe - 2007 Türkçe
accsess'te pek tecrübem yok ama eğer macro daki bir komuttan bahsediyorsanız STR fonksiyonunu kullanabilirsiniz...
STR ---> Metne çevir
VAL ---> Sayıya çevir

Umarım sorunuza cevap olmuştur.
 
Katılım
11 Ocak 2008
Mesajlar
16
Excel Vers. ve Dili
windows xp türkçe
makro olarak değilde formül şeklinde aradığım..teşekkür ederim.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın melisc,

Sanırım kavram karmaşası yaşıyoruz ama:

Kod:
=Str([AlanAdınız])
metine

Kod:
=Val([AlanAdınız]
sayıya çevirir.

İyi çalışmalar
 
Katılım
11 Ocak 2008
Mesajlar
16
Excel Vers. ve Dili
windows xp türkçe
Sayın Modalı ve Exam77 ilgilendiğiniz için teşekkür ederim..
 
Katılım
17 Ocak 2008
Mesajlar
185
Excel Vers. ve Dili
2003 Türkçe - 2007 Türkçe
Rica ederim... İyi çalışmalar...
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
arkadaşlar;
Bu "str" ve "val" ne işe yarıyor?
Benim anladığım metne çevirme işlemi rakamla yazılmış sayıyı yazıyla yazmaktır. str ve val fonksiyonları sadece sayının şeklini değiştiriyor. Ne excelde ne de accesste bir faydasını göremedim.
Tam olarak anlatacak bir varsa yazmasını rica ediyorum.

Saygılar, iyi çalışmalar.
 
Katılım
21 Ekim 2006
Mesajlar
100
Excel Vers. ve Dili
Excel2003 Tr
Sayın ayhan2122, tablonuzda sınav1 ve sınav2 adında veri türü metin olarak ayarlanmış iki alan olduğunu varsayalım. Siz bu metin alanlarına girdiğiniz puanları sınav1+sınav2 şeklinde toplayamazsınız, hata verir. Bunu, Val([sınav1])+Val([sınav2]) şeklinde metin alanını sayıya çevirerek toplayabilirsiniz. Str bu işin tersini yapıyor. Buradaki sayıyı metne çevirme işini sayıyı yazıya çevirme ile karıştırmayın. sayıyı yazıya çevirme ayrı şeydir. Sayıyı yazıya çevirme ile ilgili bilgi istiyorsanız buyurun size bir fonksiyon. Accessde kullanın.

Function Yaziyla(Sayi#)
Dim virgul2 As String
Dim Cevap As String
Dim yazi As String
Dim Say As String
Dim uclu As String
Dim virgul As Integer
Dim o As Integer
Dim B As Integer
Dim X As Integer
Dim i As Integer
Dim Y As Integer
Dim YTL As String
Dim YKR As String

If Sayi# = 0 Then Yaziyla = "Sıfır": Exit Function

ReDim birler$(10), onlar$(10), basamak$(5)

birler$(0) = "": birler$(1) = "BİR"
birler$(2) = "İKİ": birler$(3) = "ÜÇ"
birler$(4) = "DÖRT": birler$(5) = "BEŞ"
birler$(6) = "ALTI": birler$(7) = "YEDİ"
birler$(8) = "SEKİZ": birler$(9) = "DOKUZ"

onlar$(0) = "": onlar$(1) = "ON"
onlar$(2) = "YİRMİ": onlar$(3) = "OTUZ"
onlar$(4) = "KIRK": onlar$(5) = "ELLİ"
onlar$(6) = "ALTMIŞ": onlar$(7) = "YETMİŞ"
onlar$(8) = "SEKSEN": onlar$(9) = "DOKSAN"

basamak$(1) = "": basamak$(2) = "BİN "
basamak$(3) = "MİLYON ": basamak$(4) = "MİLYAR "
basamak$(5) = "TRİLYON "

virgul2 = ""
Cevap = ""

'AŞAĞIDAKİ 2 SATIRDAKİ ÇİFT TIRNAK İÇERİĞİNİ DEĞİŞTİREREK
'VEYA ÇİFT TIRNAĞIN ARASINI SİLEREK "" VEYA "," GİBİ
'İSTEĞİNİZ SONUCUN ÇIKMASINI SAĞLAYABİLİRSİNİZ.
YTL = ".-YTL., "
YKR = ".-YKR."

Say = Str$(Sayi#)
virgul = InStr(1, Say, ".")
If virgul Then

'Aşağadaki satır 26,4 Yirmialtı YTL, KIRK YKR olarak okutur.
' (Yirmialtı YTL, DÖRT YKR olarak değil)
'İptal etmek isterseniz başına bir ' tek tırnak işareti koyunuz
If Len(Mid(Say, virgul + 1)) = 1 Then Say = Say + "0"

Say = Right$(Say, Len(Say) - virgul)
GoSub cevir

If Cevap = "" Then YKR = ""
virgul2 = Cevap + YKR
Cevap = ""

Say = Str$(Sayi#)
Say = Left$(Say, virgul - 1)
End If
GoSub cevir
If Cevap = "" Then YTL = ""
Yaziyla = Cevap + YTL + virgul2
Exit Function

cevir:
X = Len(Say)
Say = String$(3 - (X - Int(X / 3) * 3), 48) + Say
X = Len(Say) / 3
For i = 1 To X
uclu = Mid$(Say, Len(Say) - i * 3 + 1, 3)
Y = Val(Mid$(uclu, 1, 1))
o = Val(Mid$(uclu, 2, 1))
B = Val(Mid$(uclu, 3, 1))

yazi = ""
If Y <> 0 Then
If Y > 1 Then yazi = birler$(Y)
yazi = yazi + "YÜZ "
End If

yazi = yazi + onlar$(o) + birler$(B)

If yazi <> "" Then
If LCase(yazi) = "BİR" And i = 2 Then yazi = ""
Cevap = yazi + basamak$(i) + Cevap
End If
Next i
If Sayi# < 0 Then Cevap = "-Eksi-" + Cevap
Return
End Function
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
Sn Aydıno;
Vermiş olduğunuz cevap ve örnek gerçekten güzel. Teşekkür ediyorum.
Paylaşmak maksadıyla ben de bir örnek göndereyim.
Kod:
Function cevir(SayiAlani)
sayi = Fix(SayiAlani)
If sayi >= 1 Then
a1 = Right(sayi, 1)
Else
a1 = 0
End If

If sayi >= 10 Then
a2 = Left(Right(sayi, 2), 1)
Else
a2 = 0
End If

If sayi >= 100 Then
a3 = Left(Right(sayi, 3), 1)
Else
a3 = 0
End If

If sayi >= 1000 Then
a4 = Left(Right(sayi, 4), 1)
Else
a4 = 0
End If

If sayi >= 10000 Then
a5 = Left(Right(sayi, 5), 1)
Else
a5 = 0
End If

If sayi >= 100000 Then
a6 = Left(Right(sayi, 6), 1)
Else
a6 = 0
End If

If sayi >= 1000000 Then
a7 = Left(Right(sayi, 7), 1)
Else
a7 = 0
End If

If sayi >= 10000000 Then
a8 = Left(Right(sayi, 8), 1)
Else
a8 = 0
End If

If sayi >= 100000000 Then
a9 = Left(Right(sayi, 9), 1)
Else
a9 = 0
End If
'=======================================================
'YüzMilyonlar basamagi
'=======================================================
If a9 = 9 Then
p9 = "Dokuzyüz"
Else
If a9 = 8 Then
p9 = "Sekizyüz"
Else
If a9 = 7 Then
p9 = "Yediyüz"
Else
If a9 = 6 Then
p9 = "Altıyüz"
Else
If a9 = 5 Then
p9 = "Beşyüz"
Else
If a9 = 4 Then
p9 = "Dörtyüz"
Else
If a9 = 3 Then
p9 = "Üçyüz"
Else
If a9 = 2 Then
p9 = "İkiyüz"
Else
If a9 = 1 Then
p9 = "Yüz"
Else
p9 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'OnMilyonlar basamagi
'=======================================================

If a8 = 9 Then
p8 = "Doksan"
Else
If a8 = 8 Then
p8 = "Seksen"
Else
If a8 = 7 Then
p8 = "Yetmiş"
Else
If a8 = 6 Then
p8 = "Altmış"
Else
If a8 = 5 Then
p8 = "Elli"
Else
If a8 = 4 Then
p8 = "Kırk"
Else
If a8 = 3 Then
p8 = "Otuz"
Else
If a8 = 2 Then
p8 = "Yirmi"
Else
If a8 = 1 Then
p8 = "On"
Else
p8 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Milyonlar basamagi
'=======================================================

If a7 = 9 Then
p7 = "Dokuz"
Else
If a7 = 8 Then
p7 = "Sekiz"
Else
If a7 = 7 Then
p7 = "Yedi"
Else
If a7 = 6 Then
p7 = "Altı"
Else
If a7 = 5 Then
p7 = "Beş"
Else
If a7 = 4 Then
p7 = "Dört"
Else
If a7 = 3 Then
p7 = "Üç"
Else
If a7 = 2 Then
p7 = "İki"
Else
If a7 = 1 Then
p7 = "Bir"
Else
p7 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If

'=======================================================
'YüzBinler basamagi
'=======================================================

If a6 = 9 Then
p6 = "Dokuzyüz"
Else
If a6 = 8 Then
p6 = "Sekizyüz"
Else
If a6 = 7 Then
p6 = "Yediyüz"
Else
If a6 = 6 Then
p6 = "Altıyüz"
Else
If a6 = 5 Then
p6 = "Beşyüz"
Else
If a6 = 4 Then
p6 = "Dörtyüz"
Else
If a6 = 3 Then
p6 = "Üçyüz"
Else
If a6 = 2 Then
p6 = "İkiyüz"
Else
If a6 = 1 Then
p6 = "Yüz"
Else
p6 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'OnBinler basamagi
'=======================================================
If a5 = 9 Then
p5 = "Doksan"
Else
If a5 = 8 Then
p5 = "Seksen"
Else
If a5 = 7 Then
p5 = "Yetmiş"
Else
If a5 = 6 Then
p5 = "Altmış"
Else
If a5 = 5 Then
p5 = "Elli"
Else
If a5 = 4 Then
p5 = "Kırk"
Else
If a5 = 3 Then
p5 = "Otuz"
Else
If a5 = 2 Then
p5 = "Yirmi"
Else
If a5 = 1 Then
p5 = "On"
Else
p5 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Binler basamagi
'=======================================================
If a4 = 9 Then
p4 = "Dokuz"
Else
If a4 = 8 Then
p4 = "Sekiz"
Else
If a4 = 7 Then
p4 = "Yedi"
Else
If a4 = 6 Then
p4 = "Altı"
Else
If a4 = 5 Then
p4 = "Beş"
Else
If a4 = 4 Then
p4 = "Dört"
Else
If a4 = 3 Then
p4 = "Üç"
Else
If a4 = 2 Then
p4 = "İki"
Else
If a4 = 1 And sayi >= 2000 Then
p4 = "Bir"
Else
p4 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Yüzler basamagi
'=======================================================
If a3 = 9 Then
p3 = "Dokuzyüz"
Else
If a3 = 8 Then
p3 = "Sekizyüz"
Else
If a3 = 7 Then
p3 = "Yediyüz"
Else
If a3 = 6 Then
p3 = "Altıyüz"
Else
If a3 = 5 Then
p3 = "Beşyüz"
Else
If a3 = 4 Then
p3 = "Dörtyüz"
Else
If a3 = 3 Then
p3 = "Üçyüz"
Else
If a3 = 2 Then
p3 = "İkiyüz"
Else
If a3 = 1 Then
p3 = "Yüz"
Else
p3 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Onlar basamagi
'=======================================================
If a2 = 9 Then
p2 = "Doksan"
Else
If a2 = 8 Then
p2 = "Seksen"
Else
If a2 = 7 Then
p2 = "Yetmiş"
Else
If a2 = 6 Then
p2 = "Altmış"
Else
If a2 = 5 Then
p2 = "Elli"
Else
If a2 = 4 Then
p2 = "Kırk"
Else
If a2 = 3 Then
p2 = "Otuz"
Else
If a2 = 2 Then
p2 = "Yirmi"
Else
If a2 = 1 Then
p2 = "On"
Else
p2 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Birler basamagi
'=======================================================
If a1 = 9 Then
p1 = "Dokuz"
Else
If a1 = 8 Then
p1 = "Sekiz"
Else
If a1 = 7 Then
p1 = "Yedi"
Else
If a1 = 6 Then
p1 = "Altı"
Else
If a1 = 5 Then
p1 = "Beş"
Else
If a1 = 4 Then
p1 = "Dört"
Else
If a1 = 3 Then
p1 = "Üç"
Else
If a1 = 2 Then
p1 = "İki"
Else
If a1 = 1 Then
p1 = "Bir"
Else
p1 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'===========================================================
If sayi >= 1000000 Then
x = "Milyon"
Else
End If
'===========================================================
If sayi < 1000 Or (a4 = 0 And a5 = 0 And a6 = 0) Then
y = Null
Else
y = "Bin"
End If
'===========================================================
If sayi >= 1000000000 Then
cevir = "Çok Büyük Sayı"
Else
cevir = p9 & p8 & p7 & x & p6 & p5 & p4 & y & p3 & p2 & p1
End If

End Function


'Kusuratı cevirmek icin fonksiyon
Function kusuratcevir(SayiAlani)
kusurat = (SayiAlani - Fix(SayiAlani)) * 100

If kusurat >= 1 Then
a1 = Right(kusurat, 1)
Else
a1 = 0
End If

If kusurat >= 10 Then
a2 = Left(Right(kusurat, 2), 1)
Else
a2 = 0
End If
'=======================================================
'Onlar basamagi
'=======================================================
If a2 = 9 Then
p2 = "Doksan"
Else
If a2 = 8 Then
p2 = "Seksen"
Else
If a2 = 7 Then
p2 = "Yetmiş"
Else
If a2 = 6 Then
p2 = "Altmış"
Else
If a2 = 5 Then
p2 = "Elli"
Else
If a2 = 4 Then
p2 = "Kırk"
Else
If a2 = 3 Then
p2 = "Otuz"
Else
If a2 = 2 Then
p2 = "Yirmi"
Else
If a2 = 1 Then
p2 = "On"
Else
p2 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
'Birler basamagi
'=======================================================
If a1 = 9 Then
p1 = "Dokuz"
Else
If a1 = 8 Then
p1 = "Sekiz"
Else
If a1 = 7 Then
p1 = "Yedi"
Else
If a1 = 6 Then
p1 = "Altı"
Else
If a1 = 5 Then
p1 = "Beş"
Else
If a1 = 4 Then
p1 = "Dört"
Else
If a1 = 3 Then
p1 = "Üç"
Else
If a1 = 2 Then
p1 = "İki"
Else
If a1 = 1 Then
p1 = "Bir"
Else
p1 = Null
End If
End If
End If
End If
End If
End If
End If
End If
End If
'=======================================================
kusuratcevir = p2 & p1
'=======================================================
End Function
Burada 2 tane fonksiyon var;
1. cevir(SayiAlani): Sayının küsüratsız kısmını metne çevirir. Sayı "1 milyar"dan küçük olmalıdır.
2. kusuratcevir(SayiAlani): Sayının küsürat kısmını metne çevirir.
:)
Saygılar, iyi çalışmalar.
 
Üst