Makroya parametre olarak dizi verilebilir mi..

Katılım
29 Ağustos 2007
Mesajlar
32
Excel Vers. ve Dili
2003
2007
Bir fonksiyona dizi halinde veri gönderebilir miyiz..

Yapmak istediğim şey..

EnKucuk(ArrSayi(10))

EnKucuk fonksiyonuna ArrSayi dizisinin ilk 10 elemanını (1,2,3,4,5..10) göndermek ve en kucuk değeri bulmak...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki Enkuuck değişkeni 11 elemenlı bir dizidir.:cool:
Kod:
Dim Enkucuk(10)
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıda, Function'a dizi değişken göndermek (refere etmek) için, örnek bir kod verilmektedir.

AnaMakro makrosunu çalıştırdığınızda, bu makronun ürettiği diziyi (arr), EnkucukBul function'ına gönderir ve en küçük değeri ürettirerek, mesaj kutusu içinde gösterir ...

Kod:
Option Explicit
Sub AnaMakro()
    Dim arr() As Variant
    Dim enKucuk As Double
    
    arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    
    enKucuk = EnKucukBul(arr)
    
    MsgBox "Enküçük değer : " & enKucuk, _
                vbInformation, _
                    "Bilgi"
End Sub
'-------------------------------------------------------
Private Function EnKucukBul(ByRef Dizi() As Variant)
    Dim kucuk As Double
    Dim i As Integer
    
    If IsArray(Dizi) Then
        kucuk = Dizi(0)
        For i = 0 To UBound(Dizi)
            If IsNumeric(Dizi(i)) Then
                If kucuk > Dizi(i) Then
                    kucuk = Dizi(i)
                End If
            End If
        Next i
    End If
    
    EnKucukBul = kucuk
End Function
 
Katılım
29 Ağustos 2007
Mesajlar
32
Excel Vers. ve Dili
2003
2007
teşekkür ederim..

Ferhat Bey teşekkürler..

Tam olarak bahsettiğim şey buydu..Elinize sağlık..
(byref dizi() kısmını yazamamıştım... çok teşekkür ederim..
 
Üst