Basit Bir Makro Sorusu (Butona bastıkça ürünlerin alt alt eklenmesi"

Katılım
29 Aralık 2010
Mesajlar
29
Excel Vers. ve Dili
Office 365
Merhaba,

Excel'de alt alta ürünlerin olduğu bir listem var, bu listedeki her ürünün yanına "ekle" butonu koyup bu butona bastıkça o ürünün bir diğer çalışma sayfasına alt alta eklenmesini istiyorum.

Makro kaydetme ile denedim fakat her "ekle"ye bastığımda ürünler hep 1. sıraya eklendi, sırayla gitmesini nasıl yapabilirim?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,701
Excel Vers. ve Dili
Excel 2019 Türkçe
Aktif olan satırı diğer sayfaya ekler.
Kod:
x=sheets("Sayfa2").[a65536].end(3)+1
sheets("Sayfa2").rows(x) =activecell.row
 
Katılım
29 Aralık 2010
Mesajlar
29
Excel Vers. ve Dili
Office 365
hocam teşekkür ederim fakat uzun süredir makrolarla ilgilenmediğim için paslanmışım, kodu çalıştıramadım. bendeki sürüm türkçe olduğu için hata almış olabilir miyim? yanlış anlamadıysam ....end(3) kısmındaki 3'te bir sorun var onu kırmızı ile gösteriyor.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Hamit bey'in kodlarına aşağıdaki gibi ek yaparak deneyin
(aktif hücrenin bulunduğu tüm satır içindir)

x = Sheets("Sayfa2").[a65536].End(3).Row + 1
Sheets("Sayfa2").Rows(x).Value = ActiveCell.EntireRow.Value
 
Katılım
29 Aralık 2010
Mesajlar
29
Excel Vers. ve Dili
Office 365
PLİNT hocam çok teşekkür ederim olacak gibi.

Soruma şöyle bir ek yapayım, listede 100 adet satır var ve her satırın yanına bu makroyu çalıştıran bir tuş atayacağım. Verdiğiniz kodları alt alta koyunca haliyle formulü ilk yazdığımda hangi hücreyi kopyaladıysam onu bir önceki sayfaya onu ekliyor ve tüm satırlar aynı içerik oluyor. Ben tıkladığım butonun yanındaki hücreyi kopyalasın istiyorum.

Her satır için ayrı ayrı makro yazmak yerine bunu kısa yoldan nasıl yapabilirim?
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Şu şekilde olabilir .

Kod:
Sub Emr_Kopyala()
    
    Dim b As Object, cs As Integer
    Set b = ActiveSheet.Buttons(Application.Caller)
    With b.TopLeftCell
        Rw = .Row
    End With
    
    x = Sheets("Sayfa2").[a65536].End(3).Row + 1
    Sheets("Sayfa2").Rows(x).Value = Rows(Rw).Value
    
    MsgBox "Satir " & Rw & "kopyalandi "
End Sub
 
Katılım
29 Aralık 2010
Mesajlar
29
Excel Vers. ve Dili
Office 365
kodları henüz deneyemedim, deneyip sonucu yazacağım şimdilik çok teşekkür ederim.
 
Üst