kayıt girişi nasıl yapılır

Katılım
30 Eylül 2007
Mesajlar
110
Excel Vers. ve Dili
excel 2003 tr
sayfa 1 deki 30 sütuna giriş yapıyorum ve sayfa 2 deki 1.satıra bütün girişlerim yazıyor sonra sayfa 1 deki tekrar aynı 30 sütuna giriş yapıyorum bu sefer sayfa 2 deki 2. satıra bu otuz girişi yazıyoraynen 3. girişimi 3. satıra vb devam ediyor. bunu bir fonksiyonla yada makroyla yapmam mümkün mü arkadaşlar.Teşekkür ederim şimdiden ilginize...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,225
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Siz sayfa1 de yazdığınız herşeyin sayfa2 ye de aynen yansımasını mı istiyorsunuz?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,225
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağaki kodları deneyebilirsiniz.

Kod:
Sub Aktar()
Dim Sat, Son As Long
Dim i, Sut As Integer
Dim s1, s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Son = s1.[A65536].End(3).Row
Sat = s2.[B65536].End(3).Row + 1
Sut = 1
For i = 1 To Son
    Sut = Sut + 1
    s2.Cells(Sat, Sut) = Cells(i, "B")
Next i
Range("B1:B" & Son).ClearContents
End Sub
Döngüsüz Altarnetaf Kod :

Kod:
Sub Aktar2()
Dim s1 As Worksheet, s2 As Worksheet
Dim Son As Integer
Dim i As Long
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Son = s1.[A65536].End(3).Row
i = s2.[B65536].End(3).Row + 1
Application.ScreenUpdating = False
s1.Range("B1:B" & Son).Copy
s2.Range("B" & i).PasteSpecial Paste:=xlPasteValues, Transpose:=True
s1.Range("B1:B" & Son).ClearContents
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
30 Eylül 2007
Mesajlar
110
Excel Vers. ve Dili
excel 2003 tr
teşekkür ederim Necdet bey sorunumu hallettim kodu yapabildiğim kadar kendi işime göre düzenleyeceğim
 
Katılım
30 Eylül 2007
Mesajlar
110
Excel Vers. ve Dili
excel 2003 tr
Merhaba,

Aşağaki kodları deneyebilirsiniz.

Kod:
Sub Aktar()
Dim Sat, Son As Long
Dim i, Sut As Integer
Dim s1, s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Son = s1.[A65536].End(3).Row
Sat = s2.[B65536].End(3).Row + 1
Sut = 1
For i = 1 To Son
    Sut = Sut + 1
    s2.Cells(Sat, Sut) = Cells(i, "B")
Next i
Range("B1:B" & Son).ClearContents
End Sub
Necdet bey ben yukarıdaki kodu kendi sayfama uyarladım ancak kod yazma bilgim olmadığı için sadece programlama mantığını ve algoritmayı biliyorum Üniv. iken pascal ve c + + görmüştüm zamanınız olursa yukarıdaki kodun mantığını biraz açıklarmısınız örneğin oradadi sadece B nin ne anlama geldiğini çözemedim mesela ben bu makro kodunu f 3 hücresinden itibaren kullanmak istesem yada sayfa 2 de b satırından değilde g6 satırından başlatmak istesem neleri değiştirmeliyim nelere dokunmamalıyım zamanınız olursa sevinirim ama zaman ayıramasanızda işimi görecek kadar uyarladım programıma ama gelecekte kullanabilmek için öğrenmek istiyorum.Teşekkür ederim .
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,225
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kodları dilim döndüğünce açıklamaya çalıştım, dosyadan bakarsanız daha anlaşılır olur.

Ayrıca Temel Bilgiler İçin Buraya Tıklayanız

Kod:
Sub Aktar()
Dim Sat, Son As Long
Dim i, Sut As Integer
Dim s1, s2 As Worksheet
Set s1 = Sheets("Sayfa1")       'Sayfa1 adını s1 olarak atıyoruz
                                'Sayfa1in A1 hücresini Sheets("Sayfa1").Range("A1")
                                'diye uzun uzun yazmaktansa s1.Range("A") yazmak daha kısa olur
Set s2 = Sheets("Sayfa2")       'Sayfa2 adını s2 olarak atıyoruz
Son = s1.[A65536].End(3).Row    'Sayfa1 de A sütununa bakarak son satır numarasını bulduk
Sat = s2.[B65536].End(3).Row + 1    'Sayfa2 nin B sütununa bakarak son satırı bulduk ve 1 ekledik, bu yazılacak sıradır
Sut = 1                         'Sayfa2 de aktaracağımız sütunu belirlemek için 1 atadık, çünkü bilgiler 2. sütundan başlayacak
For i = 1 To Son                            '1. sayfada 1. satırdan bulduğumuz son satıra kadar döngü kurduk
    Sut = Sut + 1                           '2. sayfaya aktarırken Sut değişkenine 1 ekledik ki uygun sütunu bulalım
    s2.Cells(Sat, Sut) = s1.Cells(i, "B")   '2. sayfada Sat (Satır) ve Sut (Sütun) olarak belirlediğimiz hücresine 1. sayfanın i değişkenine bağlı olan satırın B hücresini aktarılıyor
Next i                                      'Döngünün sonu
s1.Range("B1:B" & Son).ClearContents    '1. sayfadakı B1 den Sonuncu satıra kadar olan aktardığımız bilgileri sildik
End Sub
 

Ekli dosyalar

Üst