performans sorun degilse tek string olarak ele al. Mesela 3 tane int i saklamak icin dongulerle "1,2,3;3,6,90;70,60,80;3,60,90,55;" kullanmak istddiginde split ile kullanabilirsin. Ama cok hafiza yer ve islemciyi de daha fazla kullanir.

istediğin şey için preserve kullanamazsın hocam ama şyle bi çzümü deneyebilirsin. nested olarak iç içe tanımlayabilirsin. şurada bir rnek var. mesela 3x2 lik bir dizi Public Function nested Dim outer outer = Array(Array(1, 2), Array(3, 4)) ReDim Preserve outer(1 To 3) outer(3) = Array(5, 6) nested = outer End Function sana diziyi dnderiyor... bu fonksiyonu kullanabilirsin. bir de şyle bi çzüm var dngülü tempArray = myArray ReDim myArray(1 To (UBound(myArray 2), 1 To m) For i = 1 To n For j = 1 To m myArray = tempArray Next j Next i burada bir kaç farklı çzüm daha mevcut ve yukarıda verdiklerimin açıklamaları http://stackoverflow.com/questions/3992717/how-can-i-redim-preserve-a-2d-array-in-excel-2007-vba-so-that-i-can-add-rows Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Bu gibi durumlarda ya çok boyutlu diziyi doğrusal olarak ele alacaksınız ya da koleksiyonları kullanacaksınız. http://stackoverflow.com/questions/678938/linear-simulation-of-multidimensional-array/678968#678968 YeniHarman tarafından 19/Eki/13 12:00 tarihinde düzenlenmiştir Olaylara karışmayın!

iyi geceler arkadaşlar. excel vba da uğraşıp duruyordum ve dizilerle ilgili bişey yaparken dinamik çok boyutlu dizi tanımlayamadım. normal tek boyutlu dizi gibi redimle boyutunu değiştiremedim. diziyi 2 boyutlu tanımladığımda redim işe yaramadı. zaten boyut tanımlandı gibi birşey uyarısı verdi. bu işi nasıl çzebiliriz veya dinamik çok boyutlu dizi yerine neyi kullanabiliriz?

Dizi değişkenini hiç bir boyut belirtmeden tanımla. Dim arr As Variant gibi Sonrasında istediğin gibi değiştirebilirsin. rnek olarak : Dim arr ReDim arr(1, 3, 3) MsgBox UBound(arr, 1) ReDim arr(3, 5, 1) MsgBox UBound(arr, 2) ReDim arr(5, 2, 0) MsgBox UBound(arr, 3) teşekkürler ama bunu preserve ile kullanamıyorum hata veriyor. dizi tek boyutluyken girilmiş değerlerin kaybolmaması gerekiyor.

buzukatak bunu yazdı Dizi değişkenini hiç bir boyut belirtmeden tanımla. Dim arr As Variant gibi Sonrasında istediğin gibi değiştirebilirsin. rnek olarak : Dim arr ReDim arr(1, 3, 3) MsgBox UBound(arr, 1) ReDim arr(3, 5, 1) MsgBox UBound(arr, 2) ReDim arr(5, 2, 0) MsgBox UBound(arr, 3) teşekkürler ama bunu preserve ile kullanamıyorum hata veriyor. dizi tek boyutluyken girilmiş değerlerin kaybolmaması gerekiyor. Preserve ile ancak son boyutun uzunluğunu değiştirebilirsin ki bu yeni bir boyut ekleyememene / silememene sebep olur, bundan tesine izin yok. Bu sana uymuyorsa ihtiyacını giderecek başka bir şeyler düşünmen gerekli. Dim arr ReDim arr(0, 0) arr(0, 0) = "00" ReDim Preserve arr(0, 1) arr(0, 1) = "01" MsgBox arr(0, 0) MsgBox arr(0, 1) buzukatak tarafından 19/Eki/13 03:42 tarihinde düzenlenmiştir anlıyorum.

Düz mantık yeni bi dizi oluştur burdakileri ona aktar bu diziyi sil :) Si vis pacem para bellum.

Dizi değişkenini hiç bir boyut belirtmeden tanımla. Dim arr As Variant gibi Sonrasında istediğin gibi değiştirebilirsin. rnek olarak : Dim arr ReDim arr(1, 3, 3) MsgBox UBound(arr, 1) ReDim arr(3, 5, 1) MsgBox UBound(arr, 2) ReDim arr(5, 2, 0) MsgBox UBound(arr, 3) buzukatak tarafından 19/Eki/13 02:16 tarihinde düzenlenmiştir anlıyorum.

cevaplar için teşekkürler. uğraştığım şey çok ta nemli değildi. diziyi sabit boyuta ayarladım şimdilik sıkıntı yok tekrar teşekkürler.