• DİKKAT

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

Macro ile Aktarma

Katılım
7 Mayıs 2020
Mesajlar
17
Excel Vers. ve Dili
Ofis 2016 dili ingilizce
Merhaba Arkadaşlar,

aşağıda vermiş olduğum iki adet sheet bulunuyor.Bu sheetlerde devam eden sheetini tüm akışlar sheetine aktarmak istiyorum.aynı başlık altında olanları aynı kolona getirmesini istiyorum.Bunu macro ile nasıl yapabilirim.

örnek

Tüm akışlar

Contract Detail Number

Step Name

36739472

Kurulus Planlama ve Randevu Adimi

39664582

Kurulus Planlama ve Randevu Adimi

39003384

Maximo Servis Bekleme

devam eden


Contract Detail Number

Step Name

28743653

Kurulus Planlama ve Randevu Adimi

28977175

Güvenlik Tanımlarının Yapılması
 
Merhaba Arkadaşlar

aşağıdaki şekilde bir kod yazdım.Fakat diğer alt satırlarını nasıl ekliyor olacağız.


Sub Aktar()
Set s1 = Sheets("Devam Eden Akislar Raporu")
Set s2 = Sheets("TUM AKISLAR")
ss = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1
s2.Cells(ss, 2).Value = s1.Cells(2, 2).Value
s2.Cells(ss, 3).Value = s1.Cells(2, 3).Value
s2.Cells(ss, 4).Value = s1.Cells(2, 4).Value
s2.Cells(ss, 5).Value = s1.Cells(2, 5).Value

End Sub
 
Şöyle deneyin:

PHP:
Sub Aktar()
Set s1 = Sheets("Devam Eden Akislar Raporu")
Set s2 = Sheets("TUM AKISLAR")
son = s1.Cells(Rows.Count,"B").End(3).Row
ss = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 2 to son
s2.Cells(ss, 2).Value = s1.Cells(i, 2).Value
s2.Cells(ss, 3).Value = s1.Cells(i, 3).Value
s2.Cells(ss, 4).Value = s1.Cells(i, 4).Value
s2.Cells(ss, 5).Value = s1.Cells(i, 5).Value
next
End sub
 
Şöyle deneyin:

PHP:
Sub Aktar()
Set s1 = Sheets("Devam Eden Akislar Raporu")
Set s2 = Sheets("TUM AKISLAR")
son = s1.Cells(Rows.Count,"B").End(3).Row
ss = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 2 to son
s2.Cells(ss, 2).Value = s1.Cells(i, 2).Value
s2.Cells(ss, 3).Value = s1.Cells(i, 3).Value
s2.Cells(ss, 4).Value = s1.Cells(i, 4).Value
s2.Cells(ss, 5).Value = s1.Cells(i, 5).Value
next
End sub

Merhaba

öncelikle teşekkür ederim.Fakat sadece Deam eden akışlar raporudan tek satır aldı ve en son satırı aldı Tüm akışlar sheetine getirdi.
Benim istediğim Devam eden akışlar raporundan ilk satırdan en son satıra kadar olanı tüm akışlar sheetine getirmesi.

teşekkürler.
 
ss satırını for satırından sonraya alıp deneyin.
 
ss satırını for satırından sonraya alıp deneyin.
Merhaba

Devam eden akışlar raporudan tek satır (en son satır) aldı.Tüm akışlara en son satırnına bıraktı.malesef olmadı.

Yapmak istediğim Devam eden akışlar raporundan ilk satırdan en son satıra kadar olanı alıp tüm akışlar sheetine getirmesi.
 
İçinde makronun olduğu örnek dosya paylaşın lütfen.
 
ss = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1

Bu satırı şöyle değiştirin:

ss = s2.Cells(Rows.Count, 2).End(xlUp).Row + 1

Hatanın sebebi ilk boş satırı 1. yani A sütununa göre buluyorsunuz ama aktarma işini 2. yani B sütunundan itibaren yapıyorsunuz. Bu nedenle A sütunu hep boş kalıyor ve kayıtlar hep aynı satıra aktarılıyor.
 
ss = s2.Cells(Rows.Count, 1).End(xlUp).Row + 1

Bu satırı şöyle değiştirin:

ss = s2.Cells(Rows.Count, 2).End(xlUp).Row + 1

Hatanın sebebi ilk boş satırı 1. yani A sütununa göre buluyorsunuz ama aktarma işini 2. yani B sütunundan itibaren yapıyorsunuz. Bu nedenle A sütunu hep boş kalıyor ve kayıtlar hep aynı satıra aktarılıyor.
tşk ederim. çalıştı.

Sub Aktar()
Set s1 = Sheets("Devam Eden Akislar Raporu")
Set s2 = Sheets("TUM AKISLAR")
son = s1.Cells(Rows.Count, "B").End(3).Row

For i = 2 To son
ss = s2.Cells(Rows.Count, 2).End(xlUp).Row + 1
s2.Cells(ss, 2).Value = s1.Cells(i, 2).Value
s2.Cells(ss, 3).Value = s1.Cells(i, 3).Value
s2.Cells(ss, 4).Value = s1.Cells(i, 4).Value
s2.Cells(ss, 5).Value = s1.Cells(i, 5).Value
Next
End Sub
 
Geri
Üst