Fonksiyon Katagorisi, ve Yardım Menüsü ekleme

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
http://www.excel.web.tr/showpost.php?p=117841&postcount=1
başlığında bulunan dosyayı indirdim ve bir çok şeye karşı merakım uyandı.
Yapılabilen ama benim yapamadığım şeyler....

Dosya adıyla intenette arama yapınca xla nın şifresinide buldum: Morefunc

ve kodları incelemeye başladım ama anlamadım. yardım edebilirseniz sevinirim.

1) formül çubuğunda f(x) tıklanınca seçilen katagori seçin başlığına Kendi Katogri Başlığımızı nasıl ekleriz (örneğimizdeki başlık more funtion gb.)

2) Fonksiyonlara yardım menüsü nasıl eklenir?

3) xll ve xla arasındaki fark nedir? nasıl hazırlanır?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Mesala Aşağıdaki fonksiyonumuzu Module yazdıktan sonra

Kod:
Function Sayidan_Harfe(ByVal sayi As Double, Optional ByVal bHARF As Boolean = False)
'__________________________________________________________________________________________________
'<<||||||||||||||||||||          1 den 25259 a kadar olan sayıları          ||||||||||||||||||||>>'
'<<||||||||||||||||||||              harf olarak döndürür.                  ||||||||||||||||||||>>'
'<<||||||||||||||||||||-----------------------------------------------------||||||||||||||||||||>>'
'<<||||||||||||||||||||            hsayar - www.excel.web.tr                ||||||||||||||||||||>>'
'<<||||||||||||||||||||                 25/02/2008 - 20:40                  ||||||||||||||||||||>>'
'<<||||||||||||||||||||_____________________________________________________||||||||||||||||||||>>'
'=================================================================================================§

Arr_abc = Array("z", "a", "b", "c", "ç", "d", "e", "f", "g", "ğ", "h", "ı", "i", "j", "k", "l", _
                             "m", "n", "o", "ö", "p", "r", "s", "ş", "t", "u", "ü", "v", "y", "z")
bln = 29
Anlam = WorksheetFunction.Ceiling(sayi / bln, 1) 'TavanaYuvarla(Sayi, Anlam) fonsiyonu
sharf = ""
For syc = Anlam To 1 Step -1
     If Anlam > 0 And Anlam <= 1 Then
        sharf = Arr_abc(sayi): Exit For
     ElseIf Anlam > 1 And Anlam <= 30 Then
        sharf = Arr_abc((syc - 1) Mod bln) & Arr_abc((sayi Mod bln)): Exit For
    ElseIf Anlam > 30 And Anlam <= 871 Then
        tmp1 = WorksheetFunction.Ceiling(Anlam / (bln / 100), 0.001)
        tamkat = Int((tmp1) / 100) * 100
        fark = Int((tmp1 - tamkat) * 1000)
            If fark = 0 Or fark = 3449 Then
                ix = (Int(tamkat / 100) - 1)
            Else
                ix = (Int(tamkat / 100))
        End If
        sharf = Arr_abc(ix) & Arr_abc((syc - 1) Mod bln) & Arr_abc((sayi Mod bln)): Exit For
    Else
        sharf = sayi
    End If
Next syc

If bHARF = False Then
     Sayidan_Harfe = sharf
Else
     Sayidan_Harfe = UCase(Replace(Replace(sharf, "ı", "I"), "i", "İ"))
End If
End Function

THISWORKBOOKA

Kod:
Private Sub prvFonksiyonKılavuzu()
    On Error Resume Next
    With Application
        .MacroOptions macro:="Sayidan_Harfe", _
                Description:="1(A) den 25259(ZZZ) a kadar olan sayıları harf olarak döndürür." & vbCrLf _
                            & "HSayar" & vbCrLf _
                            & "Excel.web.tr."

   End With
   On Error GoTo 0
End Sub
prosodürü tanımlanıp

yine
THISWORKBOOKta
Kod:
Private Sub Workbook_Open()
...............    
    Call prvFonksiyonKılavuzu               'Fonksiyonların açıklamalarını çağır.
..............
End Sub
eklediktan sonra aşğaıdaki görüntü oluşur
1 nolu resim


2nolu resim


3nolu resim


SORULAR
1) 1 Nolu resimde görülen Katagori seçin başlığına kendimiz ad tanımlayabilrimiyiz.

2) 2 nolu resimde Sayi ve Bharf değişknleri tanımlanmış... abcak açıklma ekleyemedim...
Ancak 3 nolu resimdede görüldüğü üzere Sayı_Rakmalar değişkenine açıklma eklenmiş biz kendimiz nerede ekleme yapmalayız....

3) Ayrıca Fonksiyon yardım linkine kendi fonksiyon yardım linkimizi nasıl atarız.
devam edecek........
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
G&#220;nayd&#305;n.
G&#252;ncel yard&#305;m edebilirseniz sevinirim.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki prosedürü kullanınız. Bu prosedürü, Thsiworkbook'un Open olayında veya Auto_Open prosedürüne ilave ederseniz, dosya açıldığında otomatik olarak, yeni kategori ve fonksiyon açıklamaları devreye girecektir.

NOT : Fonksiyonunuzun başına "Private" deyimini ilave ederseniz, "Kullanıcı Tanımlı" grubunda değil, "HSayar'a Özel Fonksiyonlar" grubunda görüntülenir.

Kod:
Sub Fonksiyon_Tanit()
Dim a01$, a02$, a03$, a04$, a05$, a06%, a07$, a08$, a09$, a10$, a11$, a12$
a01 = Chr(34) & "C:\Windows\System32\User32.dll" & Chr(34) 'Kütüphane
a02 = Chr(34) & "CharPrevA" & Chr(34)
a03 = Chr(34) & "PPP" & Chr(34)
a04 = Chr(34) & "Sayidan_Harfe" & Chr(34)
a05 = Chr(34) & "Sayi, Büyük Harf" & Chr(34)
a06 = 1
a07 = Chr(34) & "HSayar'a Özel Fonksiyonlar" & Chr(34)
a08 = "" 'Kısayol
a09 = "" 'Yardım
a10 = Chr(34) & "Bu fonksiyon, bir sayidan harf üretir" & Chr(34)
a11 = Chr(34) & "Bir tamsayı giriniz" & Chr(34) & "," _
    & Chr(34) & "Büyük harf giriniz" & Chr(34)
Application.ExecuteExcel4Macro "REGISTER(" & a01 & "," _
                                           & a02 & "," _
                                           & a03 & "," _
                                           & a04 & "," _
                                           & a05 & "," _
                                           & a06 & "," _
                                           & a07 & "," _
                                           & a08 & "," _
                                           & a09 & "," _
                                           & a10 & "," _
                                           & a11 & ")"
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hocam Ger&#231;ekten alakan&#305;za &#231;ok te&#351;ekk&#252;r ederim. Y&#252;zs&#252;zl&#252;&#287;&#252;me verirseniz bir soru daha sormak istiyorum
bu benim yapt&#305;&#287;&#305;m Sayidan_Harfe fonksiyonu fonksiyonu, birde bir ka&#231; g&#252;nd&#252;r &#231;al&#305;&#351;t&#305;&#287;&#305;m&#305;z sizin haz&#305;rlad&#305;&#287;&#305;n&#305;z benim de&#287;i&#351;tirdi&#287;im benzersiz_kayit fonksiyonu var herbiri i&#231;in ayr&#305; ayr&#305; m&#305; yapaca&#287;&#305;z yoksa bir kerede yapabilirmiyiz.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
E&#287;er tek seferde yapmak istiyorsan&#305;z(Prosed&#252;r&#252; &#231;o&#287;altmadan), bu prosed&#252;r&#252; parametrik hale getirip; parametreleri, hem Sayidan_Harfe, hem de Benzersiz_kayit fonksiyonu i&#231;in ayr&#305; ayr&#305; g&#246;nderebilirsiniz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hocam çok teşekkürler.. yarın bu işle ilgileneceğim ....
umarım istediğim sonucu alaırım yalnız denediğim kadarıyla xla belgesinde Fonksiyonu private olarak tanımlamak Fonksiyonlarım.xla yı referans olarak tanımlayınca vba modulünden çağrılmasına engel oluyor.
Hem Kendi Yazdığım Fonksiyonların özel katogride görünmesi, hemde diğer belgelerimin vbe modulünde kullanabilmek istiyorum... bİliyorum çok şey istiyorum ama .... hakkımızda hayırlısı.

Hemen denedim Dediğim gibi Private Function UCaseTr(ByVal metin As String)

yapınca referans olarak dosya tanımlı olmasına rağmen Not defined hatası verdi. Privateyi kaldırınca sonuç döndü.
Kod:
Function UCaseTr(ByVal metin As String)
'__________________________________________________________________________________________________
'<<|||||||||||||||||||| Bir metin içerisinde Microsoftun ||||||||||||||||||||>>'
'<<|||||||||||||||||||| Ucase Fonksiyonu ile büyük harfe ||||||||||||||||||||>>'
'<<|||||||||||||||||||| dönmeyen karakterleri düzeltir. ||||||||||||||||||||>>'
'<<||||||||||||||||||||-----------------------------------------------------||||||||||||||||||||>>'
'<<|||||||||||||||||||| hsayar - [URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL] ||||||||||||||||||||>>'
'<<|||||||||||||||||||| 12/11/2007 - 15:40 ||||||||||||||||||||>>'
'<<||||||||||||||||||||_____________________________________________________||||||||||||||||||||>>'
'=================================================================================================§
UCaseTr = UCase(Replace(Replace(metin, "ı", "I"), "i", "İ"))
End Function
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn hocam Public bir fonksiyonu "HSayar'a &#214;zel Fonksiyonlar" grubunda g&#246;r&#252;nt&#252;lemek i&#231;in yap&#305;lacak bir i&#351;lem varm&#305;d&#305;r.

(NOT : Fonksiyonunuzun ba&#351;&#305;na "Private" deyimini ilave ederseniz, "Kullan&#305;c&#305; Tan&#305;ml&#305;" grubunda de&#287;il, "HSayar'a &#214;zel Fonksiyonlar" grubunda g&#246;r&#252;nt&#252;lenir)

a02 = Chr(34) & "CharPrevA" & Chr(34)
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn Ferhat hocam fonksiyonu private yapmadanda kendi grubuna geldi ancak


Kod:
Private Sub Fonksiyon_Tanit()
Dim a01$, a02$, a03$, a04$, a05$, a06&#37;, a07$, a08$, a09$, a10$, a11$, a12$
a01 = Chr(34) & "C:\Windows\System32\User32.dll" & Chr(34) 'K&#252;t&#252;phane
a02 = Chr(34) & "CharPrevA" & Chr(34)
a03 = Chr(34) & "PPP" & Chr(34)
a04 = Chr(34) & "Sayidan_Harfe" & Chr(34)
a05 = Chr(34) & "Sayi, B&#252;y&#252;k Harf" & Chr(34)
a06 = 1
a07 = Chr(34) & "HSayar'a &#214;zel Fonksiyonlar" & Chr(34)
a08 = "" 'K&#305;sayol
a09 = "" 'Yard&#305;m
a10 = Chr(34) & "1(A) den 25259(ZZZ) a kadar olan say&#305;lar&#305; harf olarak d&#246;nd&#252;r&#252;r." & Chr(34)
a11 = Chr(34) & "Bir tamsay&#305; veya h&#252;cre giriniz" & Chr(34) & "," _
[COLOR=red][B]   & Chr(34) & "K&#252;&#231;&#252;k harf ile yaz&#305;lacak" & Chr(34)[/B][/COLOR]
    '& Chr(34) & "B&#252;y&#252;k Harf ise 1, K&#252;&#231;&#252;k Harf ile yaz&#305;lacaksa 0, giriniz." & Chr(34)
Application.ExecuteExcel4Macro "REGISTER(" & a01 & "," _
                                           & a02 & "," _
                                           & a03 & "," _
                                           & a04 & "," _
                                           & a05 & "," _
                                           & a06 & "," _
                                           & a07 & "," _
                                           & a08 & "," _
                                           & a09 & "," _
                                           & a10 & "," _
                                           & a11 & ")"
End Sub
a11 de&#287;i&#351;keninde Fonksiyona ait de&#287;i&#351;kenin a&#231;&#305;klamas&#305;n&#305; tamamlayam&#305;yoruz
& Chr(34) & "K&#252;&#231;&#252;k harf ile yaz&#305;lacak" & Chr(34) &#351;eklinde kal&#305;yor.
& Chr(34) & "K&#252;&#231;&#252;k harf ile yaz&#305;lacaks" & Chr(34) fazladan girdi&#287;imiz harfte hata veriyor. Run-time error 1004 hatas&#305; veriyor.

halbuki 2 nolu mesajdaki 3 nolu resimde uzun uzad&#305;ya a&#231;&#305;klama yapabiliyoruz. a&#351;man&#305;n bir yolu varm&#305;d&#305;r.?
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
iyi ak&#351;amlar.
Application.ExecuteExcel4Macro y&#246;nteminde Fonksiyon a&#231;&#305;klamalar&#305;n&#305;n daha uzun tuldu&#287;u durumlardaki D&#252;zenleme nas&#305;l olmal&#305;d&#305;r.

veya Application.MacroOptions y&#246;nteminde fonksiyon de&#287;i&#351;kenlerine a&#231;&#305;klama nas&#305;l eklenir. yani Say&#305;dan_Harfe fonksiyonunun Tamsay&#305; ve b&#252;y&#252;k harf de&#287;i&#351;kanlerine.

yard&#305;m edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
iyi akşamlar.
Application.ExecuteExcel4Macro yönteminde Fonksiyon açıklamalarının daha uzun tulduğu durumlardaki Düzenleme nasıl olmalıdır.

veya Application.MacroOptions yönteminde fonksiyon değişkenlerine açıklama nasıl eklenir. yani Sayıdan_Harfe fonksiyonunun Tamsayı ve büyük harf değişkenlerine.

yardım edebilirseniz sevinirim.
güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
g&#252;ncel yard&#305;m edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
g&#252;ncel yard&#305;m edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
G&#252;nayd&#305;n
G&#252;ncel Yard&#305;m edebilirserniz sevinirim.
 
Üst