• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Permütasyon Kodunu Diziye Aktarma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

aliandic

Yeni Üye
Katılım
12 Kas 2022
Mesajlar
24
Aldığı beğeni
0
Excel V
Office 2021 TR
Konu Sahibi
halily Merhabalar hocam ben bir konu açmışdım permütasyon ile ilgili A sütunu bitince B sütununa B bitince C ye geçsin diye konu açmışdım sizde bana makro kodu vermişdiniz çok teşekkür ederim onun için fakat dizine aktarınca daha hızlı olduğunu söylemişdiniz dizine aktarma işini nasıl yapıcam acaba ?

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
 
dizi çok büyük olduğunda hata verdiği için diziyi sütun sütun ayırmaya çalıştım
dilerim işinize yarar
Not: tek yaptığım üretilen sonucu sütunlara bölmek, permütasyon/kombinasyon koduna dokunmadım
başlat düğmesinin kodu
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
OutProc yordamının kodu
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Bu şekilde işinize yararsa kullanabilirsiniz. Visual Studio kullanarak vb.net yazılım dilinde geliştirdiğim bir program.
 
Konu Sahibi
Bu şekilde işinize yararsa kullanabilirsiniz. Visual Studio kullanarak vb.net yazılım dilinde geliştirdiğim bir program.
hocam sizin yaptığınızı denedim çok iyi düşünülmüş sayaç felanda var fakat 400 karakterli permütasyon oluşturucam her seferinde hata veriyor bazen 10 karakterli oluşturucam hata veriyor
 
Konu Sahibi
hocam out of memory hatası veriyor ve burayı gösteriyor Sheet1.Range(Cells(1, Stn), Cells(1048576, Stn)) = dz
 
Konu Sahibi
Hangi değerleri girdiğinizde bu hatayı veriyor?
Ben de vermedi.
0000111122223333444455556666777788889999,,,,++++----****////....::::ççççöööömmmmnnnnbbbbvvvvccccxxxxzzzz<<<<||||>>>>aaaassssddddffffgggghhhhjjjjkkkkllllşşşşiiii,,,,´´´´````;;;;üüüüğğğğppppooooııııuuuuyyyyttttrrrreeeewwwwqqqq@@@@€€€€₺₺₺₺¨¨¨¨~~~~ææææßßßßZZZZXXXXCCCCVVVVBBBBNNNNMMMMÖÖÖÖÇÇÇÇİİİİŞŞŞŞLLLLKKKKJJJJHHHHGGGGFFFFDDDDSSSSAAAAQQQQWWWWEEEERRRRTTTTYYYYUUUUIIIIOOOOPPPPĞĞĞĞÜÜÜÜ""""éééé!!!!''''^^^^%%%%&&&&(((())))====????____££££####$$$$½½½½{{{{[[[[]]]]}}}}\\\\ bu karakterlerin 4 lü permütasyonunu yapmaya kalkışınca hatayı veriyor
 
Permütasyon formülünü paylaşabilir misiniz?
Bilgisayar olmadığından kodu inceleme imkanım yok ama sanki kodunuz tekrarsız permutasyonu hesapliyordu
Bir de
1 - hata verdiğinde stn değeri kaçı gösteriyor
2 -
Sheet1.Range(Cells(1, Stn), Cells(1048576, Stn)) = dz
bu kod yanılmıyorsam 2 yerde vardı hangi moduldeki kod
 
hocam sizin yaptığınızı denedim çok iyi düşünülmüş sayaç felanda var fakat 400 karakterli permütasyon oluşturucam her seferinde hata veriyor bazen 10 karakterli oluşturucam hata veriyor
Bende 1 gb ram olduğu için çalışmıyor belki sizde çalışır. Bilgisayarı kullanılamaz hale getirdiği için pcyi kapatmam gerekti. Herşeyi kapatıp öyle deneyin. Eğer çalışmadıysa yapabileceğim birşey yok.
 
Son düzenleme:
464 'ün 4lu permutasyonu
464*463*462*461=45.755.349.024
Her sutunda 1.048.576 satır olduğundan gerekli olan sütun sayısı
45755349024/1048576=43.635
Yani en az 43.635 sütun gerekiyor oysa excelde en fazla 16.384 sütun var yani sonuç bir excel sayfasına sığmadığı için hata veriyor olabilir
 
Konu Sahibi
Permütasyon formülünü paylaşabilir misiniz?
Bilgisayar olmadığından kodu inceleme imkanım yok ama sanki kodunuz tekrarsız permutasyonu hesapliyordu
Bir de
1 - hata verdiğinde stn değeri kaçı gösteriyor
2 -
bu kod yanılmıyorsam 2 yerde vardı hangi moduldeki kod
Outproc kısmıda
464 'ün 4lu permutasyonu
464*463*462*461=45.755.349.024
Her sutunda 1.048.576 satır olduğundan gerekli olan sütun sayısı
45755349024/1048576=43.635
Yani en az 43.635 sütun gerekiyor oysa excelde en fazla 16.384 sütun var yani sonuç bir excel sayfasına sığmadığı için hata veriyor olabilir
peki bu permütasyonu ayrı ayrı excel sayfalarına aktarma yapabilirmi ? veya txt sayfasına ?
 
OutProc kodu aşağıdaki gibi olacakHTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
CommandButton1_Click kodu da aşağıdaki gibi düzenlenmeli
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
not: 42 ye 4lü permütasyonu denedim 41 sn kadar sürdü
400 küsürlü olanı denemedim saatler sürebilir
 
Merakımdan soruyorum son eklediğim dosyaya bakabildiniz mi? Bu arada dosyanızı xml olarak daha hızlı kaydedersiniz.
 
belirtmeyi unutmuşum her zamanki gibi FileToCreate de cnt gibi tanımlanmalı
Public FileToCreate As Object satırı da eklenmeliydi
 
Konu Sahibi
belirtmeyi unutmuşum her zamanki gibi FileToCreate de cnt gibi tanımlanmalı
Public FileToCreate As Object satırı da eklenmeliydi
hocam bu seferde ınvalid procedure call or argument diyor ve hata olarak burayı gösteriyor 400 karakter girdiğimde
Sub OutProc(outStr As String)
' cnt = cnt + 1
FileToCreate.Write outStr & vbNewLine
End Sub
 
Konu Sahibi
hocam bu seferde ınvalid procedure call or argument diyor ve hata olarak burayı gösteriyor 400 karakter girdiğimde
Sub OutProc(outStr As String)
' cnt = cnt + 1
FileToCreate.Write outStr & vbNewLine
End Sub
sorunun çözümünü buldum ₺ şu işareti ekleyince yapıyomuş şuan deniyorum 460 karakterin 4 lü permütasyonunu yapıyor
 
aşağıdaki yöntem daha hızlı isterseniz kodları aşağıdaki gibi düzenleyerek deneyin
CommandButton1_Click yordamının koduHTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
OutProc yordamının kodu
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
modül başına eklenecek tanımlama
Public TextFile As Integer

eğer OutProc yordamının koduna Cnt = Cnt + 1 eklerseniz permutasyon sayısı da gösterilir ama Cnt, double olarak tanımlanmalı
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst