Excelde matris oluşturma

Katılım
4 Aralık 2021
Mesajlar
4
Excel Vers. ve Dili
Sürüm 2110 Türkçe
Arkadaşlar merhaba excelde matris oluşturma gerekiyor. Bir adet matris oluşturma butonu olacak şekilde. Yalnız aynı matris olmayacak hücreye yazdığım sayıya göre 10x10 15x15 20x20 gibi rastgele bir matris olacak bunu nasıl yapabilirim
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,801
Excel Vers. ve Dili
Microsoft 365 Tr-64
Birkaç örnek vererek açıklar mısınız?
Hatta bir kaç örneğinizi bir excel dosyasında oluştutup dosyanızı harici dosya yükleme sitelerinden birine yükleyerek buraya link yapıştırabilirsiniz.
 
Katılım
4 Aralık 2021
Mesajlar
4
Excel Vers. ve Dili
Sürüm 2110 Türkçe
Merhabalar matrisi vba da yazarak oluşturmam gerektiğini yazmamışim. örneğin a1 hücresine yazdığım deger boyutunda bir matris oluşması gerekiyor. A1 hücresine 5yaziyorum ve matris oluştur butonuna bastığında 5x5 bir matris oluşturuyor. Olusturucagi matris için değer aralığıda belirtmek istiyorum ve bu değerlerinde a2 ve A3 hücrelerine yazdık diyelim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,801
Excel Vers. ve Dili
Microsoft 365 Tr-64
Boyut kısmı ok.

5x5=25 öğeyi A2 ve A3 e göre nasıl dolduracağız?
İlk mesajınızda rastgele bir matrisden bahsettiniz.
A2 alt limit A4 üst limit midir? Limtiler dahil midir?

Eğer böyle dolmayacaksa nasıl dolacak?
 
Katılım
4 Aralık 2021
Mesajlar
4
Excel Vers. ve Dili
Sürüm 2110 Türkçe
Evet a2 hücresini alt limit a3 hücresini de üst limit olarak. Limitler dahil olabilir.
Aslında bunu şu şekilde de yazmaya çalıştım.
matrisBoyutu = Cells(2, 1)
minDeger = Cells(2, 2)
maxDeger = Cells(2, 3)
bundan sonrasında matris boyutuna göre for döngüsüne girecek matris boyutu olusucak bir sonraki döngüde de verilmis aralığa göre matrisin ici dolacak
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,801
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanız ekte ve altın üye olmadığınız için aşağıdaki linkte
https://dosya.co/aodpx98cve83/Matris.xlsm.html

Kodlar da şu şekilde
C++:
Sub MatrisOlustur()
Dim Boyut As Byte, LimitMin As Integer, LimitMax As Integer, Matris
    Boyut = Range("B1")
    LimitMin = Range("B2")
    LimitMax = Range("B3")
    Range("E4:XFD" & Rows.Count).Clear
    Range("E4").Resize(Boyut, Boyut).ColumnWidth = 4
    Range("E4").Resize(Boyut, Boyut).RowHeight = 12
    Range("E4").Resize(Boyut, Boyut).Font.Size = 8
    Range("E4").Resize(Boyut, Boyut).HorizontalAlignment = xlHAlignCenter
    Range("E4").Resize(Boyut, Boyut).VerticalAlignment = xlVAlignCenter
    ReDim Matris(1 To Boyut, 1 To Boyut)
    For i = 1 To Boyut
        For k = 1 To Boyut
            Matris(i, k) = WorksheetFunction.RandBetween(LimitMin, LimitMax)
        Next k
    Next i
    Range("E4").Resize(Boyut, Boyut) = Matris
End Sub
 

Ekli dosyalar

Katılım
4 Aralık 2021
Mesajlar
4
Excel Vers. ve Dili
Sürüm 2110 Türkçe
Dosyanız ekte ve altın üye olmadığınız için aşağıdaki linkte
https://dosya.co/aodpx98cve83/Matris.xlsm.html

Kodlar da şu şekilde
C++:
Sub MatrisOlustur()
Dim Boyut As Byte, LimitMin As Integer, LimitMax As Integer, Matris
    Boyut = Range("B1")
    LimitMin = Range("B2")
    LimitMax = Range("B3")
    Range("E4:XFD" & Rows.Count).Clear
    Range("E4").Resize(Boyut, Boyut).ColumnWidth = 4
    Range("E4").Resize(Boyut, Boyut).RowHeight = 12
    Range("E4").Resize(Boyut, Boyut).Font.Size = 8
    Range("E4").Resize(Boyut, Boyut).HorizontalAlignment = xlHAlignCenter
    Range("E4").Resize(Boyut, Boyut).VerticalAlignment = xlVAlignCenter
    ReDim Matris(1 To Boyut, 1 To Boyut)
    For i = 1 To Boyut
        For k = 1 To Boyut
            Matris(i, k) = WorksheetFunction.RandBetween(LimitMin, LimitMax)
        Next k
    Next i
    Range("E4").Resize(Boyut, Boyut) = Matris
End Sub
Yardımcı olduğunuz için teşekkürler. Yeni başladığım için üzerinde biraz çalışmaya ihtiyacim var.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,801
Excel Vers. ve Dili
Microsoft 365 Tr-64
Kolay gelsin.
 
Üst