Dizi Hk.

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Dosyada detaylı açıklamaya çalıştım.
Aynı anda iki sonucu da yazdırmak için kodlarda ne gibi değişiklik yapmalıyım.


Kod:
Sub Dizi_Ornegi()
Dim ws As Worksheet: Dim ss As Long: Dim i As Integer
Dim dizi() As Variant: Dim dizi2 As Variant
Set ws = ThisWorkbook.Worksheets("Diziler")
ss = ws.Range("A" & Rows.Count).End(xlUp).Row
dizi = ws.Range("A2:B" & ss).Value
ReDim dizi2(LBound(dizi, 1) To UBound(dizi, 1), 1 To 2)
For i = LBound(dizi, 1) To UBound(dizi, 1)
      dizi2(i, 1) = Int(dizi(i, 2) / 2)   '-Diziyi 2 böl
'      dizi2(i, 1) = Sqr(dizi(i, 2))      '-Dizinin karekökünü al
Next i
ws.Range("B2:B" & ss).Offset(0, 1) = dizi2
'ws.Range("B2:B" & ss).Offset(0, 2) = dizi2
End Sub
 

Ekli dosyalar

Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kod:
Sub Dizi_Ornegi()

Dim ws As Worksheet: Dim ss As Long: Dim i As Integer
Dim dizi() As Variant: Dim dizi2 As Variant
Set ws = ThisWorkbook.Worksheets("Diziler")
ss = ws.Range("A" & Rows.Count).End(xlUp).Row
dizi = ws.Range("A2:B" & ss).Value
ReDim dizi2(LBound(dizi, 1) To UBound(dizi, 1), 1 To 3)
For i = LBound(dizi, 1) To UBound(dizi, 1)
      dizi2(i, 1) = Int(dizi(i, 2) / 2)   '-Diziyi 2 böl
      dizi2(i, 2) = Sqr(dizi(i, 2))      '-Dizinin karekökünü al
Next i

ws.Range("B2:C" & ss).Offset(0, 1) = dizi2

End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Bu da benim önerim bu konu ile ilgili.
Kod:
Sub DiziOrnek()

Dim arr As Variant
Dim i   As Long

[C1] = "Bolum"
[D1] = "Karekök"

arr = Range("A1").CurrentRegion.Value

For i = 2 To UBound(arr, 1)
    arr(i, 3) = arr(i, 2) \ 2
    arr(i, 4) = Sqr(arr(i, 2))
Next i

Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr

End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

@Necdet Hocam öncelikle çok teşekkür ederim.
Benim kodlarımda siz değişiklik yapmışsınız ama yine sadece 1 sutunu yazıyor.

sizin öneriniz içinde ayrıca çok teşekkür ediyorum.

Saygılar
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Ben denedim doğru çalışıyor.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
@Necdet Hocam
şöyle bir şey var; Her iki kodda düzgün işlemleri yapıyor
Ancak, sayılar içindeki bazı sayıları tam bölmüyor
örneğin:
91/2=45 , 167/2=83 , 25/2=12 sonuçlarını örnekteki gibi yazıyor halbuki tam ikiye bölmesi gerekir
bu sorunu nasıl çözebilirim?

Saygılar
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Tam bölmek derken küsuratlı mı demek istiyorsunuz? anlamadım.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
dizi2(i, 1) = dizi(i, 2) / 2
.
 
Üst