gezgin-49
Altın Üye
- Katılım
- 17 Ekim 2006
- Mesajlar
- 669
- Excel Vers. ve Dili
- Türkçe 2003
- Altın Üyelik Bitiş Tarihi
- 22-09-2028
arkadaşlar aşağıdaki makro ile 3 sayfadan alınan verilen sırasıyla başka bir sayfaya alt alta aktarılıyor, ama ben bu verilerin yan yana aktarılmasını istiyorum, aktarımın şöyle olması gerekiyor.
a)s1 sayfasındaki veriler s3 sayfasında a1 hücresine çocukları b1, c1, d1,....
hücrelerine de isimleri aktarmasını,
b)s2 sayfasında a2 hücresine gelini/damadı b2 hücresine de ismini aktarmasını,
a)s2 sayfasındaki torunların s3 sayfasında a3 hücresine torunlarıı b3, c3, d3
,.... hücrelerine de isimleri aktarmasını istiyorum, bu şekilde tüm verilerin aktarılması için aşağıdaki kodlarda nasıl bir değişiklik yapılması gerekiyor. eğer sorumu anlamadıysanız renkli olan kodların ne anlama geldiği konusunda ayrıntılı bilgi nasıl alabilirim, saygılar.
(bu kodlar Sayın leventm tarafından yazılmıştır, Sayın leventm başka bir işlem yapmak için bu kez verilerin yan yana aktarılması gerektiğinden böyle bir talebim oldu yardımlarınızı bekliyor, saygılar sunuyorum.)
Sub aktar()
Set s1 = Sheets("Zorunlu Bilgiler")
Set s2 = Sheets("Çocuklar (Evli Ölen)")
Set s3 = Sheets("miras hesapları")
Set s4 = Sheets("TORUNLAR (Evli Ölen)")
For a = 7 To s1.[f65536].End(3).Row
If s1.Cells(a, "g") = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s1.Cells(a, "f")
s3.Cells(sat, "b") = "çocuğu"
End If
Next
deg = Array("A4", "F4", "K4", "A19", "F19", "K19", "A34", "F34", "K34")
sutun = Array("D", "I", "N", "D", "I", "N", "D", "I", "N")
satir = Array(7, 7, 7, 22, 22, 22, 37, 37, 37)
For a = 0 To 8
If s2.Range(deg(a)) = "" Then GoTo 10
For b = 0 To 8
If s2.Cells(satir(a) + b - 1, sutun(a)) = "var" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s2.Cells(satir(a) + b - 1, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "gelini/damadı"
End If
If s2.Cells(satir(a) + b, sutun(a)) = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s2.Cells(satir(a) + b, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "çocuğu"
End If
Next
10 Next
For a = 0 To 5
If s4.Range(deg(a)) = "" Then GoTo 20
For b = 0 To 8
If s4.Cells(satir(a) + b, sutun(a)) = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s4.Cells(satir(a) + b, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "torunu"
End IfNext
20 Next
MsgBox "Aktarıldı."
End Sub__________________
a)s1 sayfasındaki veriler s3 sayfasında a1 hücresine çocukları b1, c1, d1,....
hücrelerine de isimleri aktarmasını,
b)s2 sayfasında a2 hücresine gelini/damadı b2 hücresine de ismini aktarmasını,
a)s2 sayfasındaki torunların s3 sayfasında a3 hücresine torunlarıı b3, c3, d3
,.... hücrelerine de isimleri aktarmasını istiyorum, bu şekilde tüm verilerin aktarılması için aşağıdaki kodlarda nasıl bir değişiklik yapılması gerekiyor. eğer sorumu anlamadıysanız renkli olan kodların ne anlama geldiği konusunda ayrıntılı bilgi nasıl alabilirim, saygılar.
(bu kodlar Sayın leventm tarafından yazılmıştır, Sayın leventm başka bir işlem yapmak için bu kez verilerin yan yana aktarılması gerektiğinden böyle bir talebim oldu yardımlarınızı bekliyor, saygılar sunuyorum.)
Sub aktar()
Set s1 = Sheets("Zorunlu Bilgiler")
Set s2 = Sheets("Çocuklar (Evli Ölen)")
Set s3 = Sheets("miras hesapları")
Set s4 = Sheets("TORUNLAR (Evli Ölen)")
For a = 7 To s1.[f65536].End(3).Row
If s1.Cells(a, "g") = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s1.Cells(a, "f")
s3.Cells(sat, "b") = "çocuğu"
End If
Next
deg = Array("A4", "F4", "K4", "A19", "F19", "K19", "A34", "F34", "K34")
sutun = Array("D", "I", "N", "D", "I", "N", "D", "I", "N")
satir = Array(7, 7, 7, 22, 22, 22, 37, 37, 37)
For a = 0 To 8
If s2.Range(deg(a)) = "" Then GoTo 10
For b = 0 To 8
If s2.Cells(satir(a) + b - 1, sutun(a)) = "var" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s2.Cells(satir(a) + b - 1, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "gelini/damadı"
End If
If s2.Cells(satir(a) + b, sutun(a)) = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s2.Cells(satir(a) + b, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "çocuğu"
End If
Next
10 Next
For a = 0 To 5
If s4.Range(deg(a)) = "" Then GoTo 20
For b = 0 To 8
If s4.Cells(satir(a) + b, sutun(a)) = "sağ" Then
sat = s3.[c65536].End(3).Row + 1
s3.Cells(sat, "c") = s4.Cells(satir(a) + b, sutun(a)).Offset(0, -2)
s3.Cells(sat, "b") = "torunu"
End IfNext
20 Next
MsgBox "Aktarıldı."
End Sub__________________
Son düzenleme: