• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Belli Aralıktaki veriyi Diğer Sayfadaki Belirili bir aralığa aktarma

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
885
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
sor = MsgBox("MATRAHI BİR KEZ AKTARMALSINIZ.DAHA ÖNCE AKTARMADIĞINIZA EMİN MİSİNİZ?", 4)
If sor = vbNo Then Exit Sub
Set s1 = Sheets("bordro3")
Set s2 = Sheets("Svergi2")
Set s3 = Sheets("bordrodegis")
sut1 = WorksheetFunction.CountA("s2") + 1
s2.Range(s2.Cells(2, sut1), s2.Cells(10, sut1)) = s1.[c5:c21].Value
sut = WorksheetFunction.CountA(s2.[2:2]) + 1
s2.Range(s2.Cells(1, sut), s2.Cells(1, sut)) = s3.[b2].Value
s2.Range(s2.Cells(2, sut), s2.Cells(10, sut)) = s1.[Q5:Q13].Value
MsgBox s3.[b2] & " " & "ayına ait bilgiler aktarılmıştır"


Bu kod ile bordro3 ten Svergi2 sayfasına aralıktaki verileri +1 şeklinde aktarabiliyorum.Tüm çabalarıma rağmen kodu düzenleyemedim.Bu kod ile şunu yapmak istiyorum.bordro3 teki Q5:Q21 aralığındaki verileri ozelgider diye yeni oluştırduğum sayfadaki I5:I21 aralığına aktaramıyorum.Nasıl bir revizyon ile bunu yapabilirim yada yeni bir kod mu yazmak gerekiyor. Yardımlar için şimdiden teşekkürler...
 
Sub test()
sor = MsgBox("MATRAHI BİR KEZ AKTARMALSINIZ.DAHA ÖNCE AKTARMADIĞINIZA EMİN MİSİNİZ?", 4)
If sor = vbNo Then Exit Sub
Set s1 = Sheets("bordro3")
Set s2 = Sheets("verileri ozelgider")
s1.Range("Q5:Q21").Copy
s2.Select
say = WorksheetFunction.CountA([I1:I65000]) + 5
Cells(say, 9).PasteSpecial
Application.CutCopyMode = False
s1.Select
MsgBox " bilgiler aktarılmıştır"
End Sub
 
Sayın ileriexcel ilginze teşekkürler.Kod çalışıyor ancak aktarılan kaynak hücreler formül içerdiği için formülü aktarıyor sonucu değil.Formülü değilde değeri nasıl aktarabiliriz.Artı bu verileri aylık aktaracağımdan taekrar aktar dedeğimide J ,k,l...m sütunlarına aktarması gerekiyor.Oysa sizin kodunuz alt alta ekliyor.(Benim yanlış ifade etmem Bunun sebebi)
 
Son düzenleme:
Yok mu yardımcı olacak arkadaş desem...Serzeniş mi? olur acaba.
 
Kod:
Cells(say, 9).PasteSpecial

Yukarıdaki satırı aşağıdaki gibi sadece değerleri yapıştırmasını söyleyen yapıştırma kriteri ilavesi yapılmalıdır.

Kod:
Cells(say,9).PasteSpecial [B][COLOR=blue]Paste:=xlPasteValues[/COLOR][/B]
 
Sayın leventm ilginze teşekkürler.Kod ekliyorum hata veriyor.Kodun üzeride gösterseniz diye istesem çok şey mi istemiş olurum.Birde sonraki sütuna kayıt ile ilgli olarak nasıl bir düzenleme yapılmalı....Teşekkürler.Bir önceki açıklamamam da sorum vardı.

Hata tamam düzeldi .Kod çalışıyor.Sadece sütun aktarma konusunda yardımcı olursanız.
 
Son düzenleme:
Aşağıdaki gibi deneyin.

Kod:
Sub test()
sor = MsgBox("MATRAHI BİR KEZ AKTARMALISINIZ.DAHA ÖNCE AKTARMADIĞINIZA EMİN MİSİNİZ?", 4)
If sor = vbNo Then Exit Sub
Set s1 = Sheets("bordro3")
Set s2 = Sheets("verileri ozelgider")
s1.Range("Q5:Q21").Copy
say = WorksheetFunction.CountA(s2.[J5:IV5]) + 10
s2.Cells(5, say).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
MsgBox " bilgiler aktarılmıştır"
End Sub
 
Sayın leventm olmadı sanırım ben anlatamadım .Yoksa nutlaka çözeceğinizi biliyorum.Şimdi aylık vergi matrahlarını bu butonl aktarıyorum ve özel gider indirim bordrosu oluşturuyorum.Yani : bordro3 sayfasındaki Q5:Q21 aralığı aylık değişecektir.Örneğin Şubat bordrosunu yaptım aktar dediğimde ozelgider sayfasındaki I5:ı21 aralığı şubat j5:j21 ralığı mart.......n5:n21 aralığı temmuz .Aktar dedğimde bir önceki sütunu silmeden veya üzerine yazmadan bir sonraki sütuna yazmasını istiyorum.Teşekkürler.Bu kod her aktarmada ı5:ı21 aralığına yazıyor.
 
Yukarıdaki kodu yeniledim. Tekrar deneyin.
 
Teşekküler.
 
Geri
Üst