iki kodu birleştirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
26 Mart 2013
Mesajlar
39
Excel Vers. ve Dili
Excel 2013 İngilize
Birleştirmek istediğim iki ayrı dosyayı yükledim. Bu dosyalardaki kodları tek bir dosyada birleştirmek istiyorum. Yardımcı olabilirseniz sevinirim.
İlk kodla hesaplattırılan matris ikinci kodda kullanılmaktadır. Ama yerleri farklı olduğu için hata vermektedir.
 

Ekli dosyalar

Katılım
26 Mart 2013
Mesajlar
39
Excel Vers. ve Dili
Excel 2013 İngilize
Çok teşekkür ederim, aynı zamanda da çok özür dilerim çok uğraştırdım sizi. Dediklerinizi yaptım ama bir sorun çıktı öncelikle end sub dan önce yazınca olmuyor. End sub dan sonra yazınca da bütün o matrisin başlangıcını bitişini falan dolduruyorum. Ama çalıştırınca hata veriyor.
For a = 1 To WorksheetFunction.Count(Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address))

Hata verdiği yerde burası. İkisini de birleştirdiğim dosyayı da ekledim. Tekrardan yardımcı olabilecek misin?
 

Ekli dosyalar

Katılım
26 Kasım 2012
Mesajlar
750
Excel Vers. ve Dili
Excel 2007 Türkçe
rica ederim..ne demek..şimdi ben gönderdiğiniz dosyaya baktım..iki adet matris var..ikinci matris birinci matristen formüllerle alınıyo anladığım kadarıyla..benim size gönderdiğim kodun çalışma prensibinde "j\i" ifadesi sizin ilk matrisinizde yok..eğer onun için gerekli sutunları benim verdiğim koda girerseniz hata alırsınız..ikinci matris iin kullanıcaksanız ondada bu ifadeyi yanlış yazmışsınız..benim kodlarda ve sizin ilk dosyanızda yazan şekli "j\i" şekli idi...siz ise "j/i" şeklinde yazmışsınız..buda kodun hata vermesine neden olucaktır..ya siz kendi yazdığınızı düzeltin yada kodda ne kadar bu ifade varsa sizin yazdığınız gibi onu değiştirin..gelelim ikinci konuya ..siz bu kodu ikinci matris için uygulucaksınız o anlaşılıyo..ama ikinci matris formüllerden oluştuğu için kod hata veriyo..buna şöle çözüm getirebildim..makro çalıştığında sizin formüllü ikinci matrisinizi bütün formülleri iptal edip üstüne işlem yapıyo..yani makronun işlemi bittiğinde ikinci matris formülsüz sadece değererden oluşucak..bunun sorun teşkil etmiceğini düşünüyorum..kodun son hali aşağıdadır..size yukarıda bahsettiğim gerekli düzenlemeleri yapıp deneyiniz..

Sub dayliht()
ben = InputBox("Matrisin başlangıç sütununu giriniz:")
sen = InputBox("Matrisin bitiş sütununu giriniz:")
o = InputBox("Sıralama hangi sutundan başlayarak yapılsın.")
Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address).Copy
Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address).PasteSpecial (xlPasteValuesAndNumberFormats)
Range(o & Range(o & 1).End(xlDown).Row + 1 & ":" & Range(o & 10000).Offset(0, 8).Address).ClearContents
For a = 1 To WorksheetFunction.Count(Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address))
x = WorksheetFunction.Large(Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address), a)
Cells(Range(o & 10000).End(3).Row + 1, o) = x
Cells(Range(o & 10000).End(3).Row, o).Offset(0, 2) = Cells(Range(ben & ":" & ben).Find("j\i").Row, Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address).Find(x, , , 1).Column)
Cells(Range(o & 10000).End(3).Row, o).Offset(0, 3) = Cells(Range(Range(ben & ":" & ben).Find("j\i").Offset(2, 1).Address & ":" & Range(sen & ":" & sen).Find("-").Offset(0, -1).Address).Find(x, , , 1).Row, ben)
Next a
End Sub
 
Katılım
26 Mart 2013
Mesajlar
39
Excel Vers. ve Dili
Excel 2013 İngilize
Çok teşekkür ediyorum. Ellerinize sağlık uğraştınız ve istediğimi bana verdiğiniz için çok sağ olun.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst