.xla makro dosyasını açma

Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
elımde bır tane .xla dosyası var. ben bu dosyayı nasıl açabılırım yanı açıp koddlarına görmem lazım bır ekleme yapacagımsonra tekrar. .xla uzantılı olarak kayıt etmem gerek tşk. ederım.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
.xla dosyasını .xls olarak kaydederseniz içini görebilirsiniz.
açamıyorum ki nasıl farklı kaydedeyim dediğinizi duyar gibiyim :)

başka seçeneklerde vardır ama benim kullandığım pratik yöntem;
.xla yı winrar ile sıkıştırın, winrar içersindeyken yeniden adlandır ile dosya uzantısını .xls yapın ve açın.
muhtemel vba şifresi vardır, o zaman kodları göremeyeceksiniz. ne yapmalıyım diye bize sormayın.
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
ok hocam tşk ederım bu arrada gizli bir şey değil şifre istemedi ;)

çok sağol ellerıne saglık
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
değişiklik yapmak istediğim kod bu :::.


Public Function ParaCevir(Para)
Dim ParaStr As String
Dim Lira As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil

ParaStr = Format(Abs(Para), "0.00")

Lira = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)

ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " TL " & Cevir(Kurus) & " Kr"

Exit Function

SayiDegil:
ParaCevir = "GİRİLEN DEÐER SAYI DEÐİL!"
End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For i = 1 To 15
Rakam(i) = Val(Mid$(SayiStr, i, 1))
Next i

Sonuc = ""
For i = 0 To 4
c(1) = Rakam(i * 3 + 1)
c(2) = Rakam(i * 3 + 2)
c(3) = Rakam(i * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(i)
If (i = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next i

If Sonuc = "" Then Sonuc = "Sıfır"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function



ben bu kodda hani excell içinde =paracevir(a1) diye yazıp yazıya cevırıyorum yaa...
bu =paracevir değilde =para yazmak istıyorum neresını değişmem gerek ...

tşk eerım ...
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
lütfen yardım edın beklıyorum :(
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Public Function Para(Param)
    Dim ParaStr As String
    Dim Lira As String, Kurus As String

    If Not IsNumeric(Param) Then GoTo SayiDegil

    ParaStr = Format(Abs(Param), "0.00")

    Lira = Left(ParaStr, Len(ParaStr) - 3)
    Kurus = Right(ParaStr, 2)

    Para = IIf(Param < 0, "Eksi ", "") & Cevir(Lira) & " TL " & Cevir(Kurus) & " Kr"

    Exit Function

SayiDegil:
    Para = "GİRİLEN DEĞER SAYI DEĞİL!"
End Function

Private Function Cevir(SayiStr As String) As String
    Dim Rakam(15)
    Dim c(3), Sonuc, e

    Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
    Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
    Binler = Array("trilyon", "milyar", "milyon", "bin", "")

    SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

    For i = 1 To 15
        Rakam(i) = Val(Mid$(SayiStr, i, 1))
    Next i

    Sonuc = ""
    For i = 0 To 4
        c(1) = Rakam(i * 3 + 1)
        c(2) = Rakam(i * 3 + 2)
        c(3) = Rakam(i * 3 + 3)
        If c(1) = 0 Then
            e = ""
        ElseIf c(1) = 1 Then
            e = "yüz"
        Else
            e = Birler(c(1)) + "yüz"
        End If
        e = e + Onlar(c(2)) + Birler(c(3))
        If e <> "" Then e = e + Binler(i)
        If (i = 3) And (e = "birbin") Then e = "bin"
        Sonuc = Sonuc + e
    Next i

    If Sonuc = "" Then Sonuc = "Sıfır"

    Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
hocam yanlış anlasıldı sanırım kod bende vam ve çalışıyor ben sadece


excell içinde =paracevir(a1) diye yazıp yazıya cevırıyorum yaa...
bunu =paracevir değilde =para yazmak istıyorum neresını değişmem gerek ...


onu öğrenmek istıyorum ben değiştireyım ilk defa makroda bir kod yazacagım neresı oldugunu soyleyın ben yazatım değiştireyım tşk ederım ellerıne saglık yınede
 
Katılım
2 Mayıs 2006
Mesajlar
226
Excel Vers. ve Dili
office 2003
Almanca
= Paracevir olan yerleri


= Para yazarsiniz.
 

parametre

Destek Ekibi
Destek Ekibi
Katılım
28 Ocak 2007
Mesajlar
1,585
Excel Vers. ve Dili
ofis 2010 turkce
Dostum kodu yazmıs zaten Public Function ParaCevir(Para)
Dim ParaStr As String
Dim Lira As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil

ParaStr = Format(Abs(Para), "0.00")

Lira = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)

ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " TL " & Cevir(Kurus) & " Kr"

Exit Function

SayiDegil:
ParaCevir = "GİRİLEN DEÐER SAYI DEÐİL!"
End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For i = 1 To 15
Rakam(i) = Val(Mid$(SayiStr, i, 1))
Next i

Sonuc = ""
For i = 0 To 4
c(1) = Rakam(i * 3 + 1)
c(2) = Rakam(i * 3 + 2)
c(3) = Rakam(i * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(i)
If (i = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next i

If Sonuc = "" Then Sonuc = "Sıfır"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
kodların hepsinde gecen paracevir ifadesini paraya para ifadesinide baska bir ad verererk değiştir bunu yaparken ilk once para ifadesini değiştir sonra para cevir sorun halledilmiş olur kolay gelsin :)
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
Dostum kodu yazmıs zaten Public Function ParaCevir(Para)
Dim ParaStr As String
Dim Lira As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil

ParaStr = Format(Abs(Para), "0.00")

Lira = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)

ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " TL " & Cevir(Kurus) & " Kr"

Exit Function

SayiDegil:
ParaCevir = "GİRİLEN DEÐER SAYI DEÐİL!"
End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For i = 1 To 15
Rakam(i) = Val(Mid$(SayiStr, i, 1))
Next i

Sonuc = ""
For i = 0 To 4
c(1) = Rakam(i * 3 + 1)
c(2) = Rakam(i * 3 + 2)
c(3) = Rakam(i * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(i)
If (i = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next i

If Sonuc = "" Then Sonuc = "Sıfır"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
kodların hepsinde gecen paracevir ifadesini paraya para ifadesinide baska bir ad verererk değiştir bunu yaparken ilk once para ifadesini değiştir sonra para cevir sorun halledilmiş olur kolay gelsin :)
hocam sadece kırmızıya boyadıgım paracevir yazılarını değişirsem olurmu çınku bunu bozarsam hiç olmaz kırmızı ıle işaretledıgım yerlerı sadece değiştiremmi..?
 

parametre

Destek Ekibi
Destek Ekibi
Katılım
28 Ocak 2007
Mesajlar
1,585
Excel Vers. ve Dili
ofis 2010 turkce
bak arkadasım bazi yerlerde prametre olrak para yazmısın paracevir ile değiştign yer ile orasi aynı olursa program istenen işlemi yapamaz bilgisayar bizim gibi dusunmez onara ne yapmasını biz ogretiriz programcılık budur :)
 
Katılım
23 Nisan 2007
Mesajlar
282
Excel Vers. ve Dili
Microsoft Office Excel 2007
Dostum kodu yazmıs zaten Public Function ParaCevir(Para)
Dim ParaStr As String
Dim Lira As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil

ParaStr = Format(Abs(Para), "0.00")

Lira = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)

ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " TL " & Cevir(Kurus) & " Kr"

Exit Function

SayiDegil:
ParaCevir = "GİRİLEN DEÐER SAYI DEÐİL!"
End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For i = 1 To 15
Rakam(i) = Val(Mid$(SayiStr, i, 1))
Next i

Sonuc = ""
For i = 0 To 4
c(1) = Rakam(i * 3 + 1)
c(2) = Rakam(i * 3 + 2)
c(3) = Rakam(i * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(i)
If (i = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next i

If Sonuc = "" Then Sonuc = "Sıfır"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
kodların hepsinde gecen paracevir ifadesini paraya para ifadesinide baska bir ad verererk değiştir bunu yaparken ilk once para ifadesini değiştir sonra para cevir sorun halledilmiş olur kolay gelsin :)
bu konuda yardım edecek kımse yokmu :(

sadece bu kodda nereyı değiştirmem gerekıyor....

excell de =paracevir yazmayıpta =para yazınca makro çalıssın bunun için nereyı değişmem gerk

tşk. ederım.
 

parametre

Destek Ekibi
Destek Ekibi
Katılım
28 Ocak 2007
Mesajlar
1,585
Excel Vers. ve Dili
ofis 2010 turkce
bak arkadasım bu kodu hic değiştirmeden yeni bir makro olarak kayıtla ve islemini yap denedim sonuc değişmiyor

kod

Function para(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 TL As String
Dim Kr As String

If Sayi# = 0 Then para = "sıfır": Exit Function

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

birler$(0) = "": birler$(1) = "bir"
birler$(2) = "iki": birler$(3) = "üç"
birler$(4) = "dört": birler$(5) = "beş"
birler$(6) = "altı": birler$(7) = "yedi"
birler$(8) = "sekiz": birler$(9) = "dokuz"

onlar$(0) = "": onlar$(1) = "on"
onlar$(2) = "yirmi": onlar$(3) = "otuz"
onlar$(4) = "kırk": onlar$(5) = "elli"
onlar$(6) = "altmış": onlar$(7) = "yetmiş"
onlar$(8) = "seksen": onlar$(9) = "doksan"

basamak$(1) = "": basamak$(2) = "bin"
basamak$(3) = "milyon": basamak$(4) = "milyar"
basamak$(5) = "trilyon"

virgul2 = ""
cevap = ""


TL = ".-TL., "
Kr = ".-Kr."

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


If Len(Mid(Say, virgul + 1)) = 1 Then Say = Say + "0"

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

If cevap = "" Then Kr = ""
virgul2 = cevap + Kr
cevap = ""

Say = Str$(Sayi#)
Say = Left$(Say, virgul - 1)
End If
GoSub cevir
If cevap = "" Then TL = ""
para = cevap + TL + 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) = "bir" And i = 2 Then yazi = ""
cevap = yazi + basamak$(i) + cevap
End If
Next i
If Sayi# < 0 Then cevap = "-Eksi-" + cevap
Return
End Function


ok
isleminide diyelim paranın miktarı a5 hucresinde yazıyor =para(a5) diye yazdıgında sonucun istedigin şekilde oluyor
 
Üst