Makroyu Son Satırda Durdurma

  • Konuyu başlatan Konuyu başlatan GONYALI
  • Başlangıç tarihi Başlangıç tarihi

GONYALI

Kullanıcı
Katılım
25 Tem 2023
Mesajlar
6
Excel Versiyonu
Excel 2010
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar,

Tablomda DV sütunundaki DV6 hücresine sayfa1'den formülle veri aktarıyorum.
(DV6 hücresine =sayfa1!CC3 yazıyorum)
Daha sonra formülü aktardığım hücreyi tablomun son dolu satırına kadar aşağı çekerek kopyalıyorum.

Bu işlemi Excel'in MAKRO KAYDET şablonu ile yapıyorum.

İşlem sonunda Excel şu makroyu üretiyor:

Range("DV6").Select
ActiveCell.FormulaR1C1 = "=sayfa1!R[-3]C[-45]"
Selection.AutoFill Destination:=Range("DV6 : DV15"), Type:=xlFillDefault
Range("DV6 : DV15").Select

Makro bu haliyle çalışıyor.

Ben istiyorum ki makrodaki DV15'lerin yerine son dolu satırı yazsın.
Ben ilave satır eklediğimde DV15 yerine DV16 ... DV1000 yazmayayım, son dolu satırı kendisi bulsun; orada dursun.
 
Son değişkeninde C harfi yerine son hücresini bulmak istediğin sütun harfini yazın.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(6 satır)
 
Sayın Baran,

Sorumun basitleştirilmiş formu ekte.

Makro1'de görüldüğü gibi sayfa1'in A sütunundan sayfa2'nin D sütununa formülle veri alıyorum.

Sub Makro1()

Range("D6").Select
ActiveCell.FormulaR1C1 = "=Sayfa1!R[-3]C[-3]"
Selection.AutoFill Destination:=Range("D6:D19"), Type:=xlFillDefault
Range("D6:D19").Select

End Sub



Sayfa2'deki tabloya satır eklediğimde formüldeki hücre numarasını (D19'u) elle değiştirmek istemiyorum.

Makroyu çalıştırınca son satıra otomatik gitsin istiyorum.
 

Ekli dosyalar

@GONYALI

FORMÜL veya DEĞER olarak yazdırmak seçeneklerinden hangisini tercih ederseniz
ona uygun kodu kullanırsınız.

Kodu çalıştırdıktan sonra, kaynak sayfadaki veri miktarı değişebilecekse,
yazdırmadan önce hedef sayfada mevcut eski verileri temizlemek gerekeceğini unutmamak lazım.
Temizleme hususu, makro kaydet ile oluşturulan kodlar için de geçerli tabi.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(9 satır)
 
Kodlarınız, gönderdiğim MAKRO1 isimli kitapta çalıştı.

Asıl kitabıma uyarladığımda çalışmadı.

DEĞER kodunu kullandım.

Asıl kitabımda sayfa1 A3'ün karşılığı sayfa1 CC3,
sayfa2 D6'nın karşılığı sayfa2 DV6

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
şeklindeki kodunuzu şu hale getirdim.
Nerede yanlış yapıyorum?
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
 
İşte tam da bu nedenle,
eklenen örnek belgelerin, gerçek belgenin özel bilgi içermeyen kopyası şeklinde olması gerekiyor.
Nasıl olsa uyarlarım diye düşünmemek lazım.

-- Kaynak sayfadaki verinin son satır numarası,
A sütununa göre (A sütununun sütun no = 1) bulunuyor.
son = Sayfa1.Cells(Rows.Count, 1).End(3).Row

-- koddaki son - 2 kısmındaki 2 sayısı kaynak sayfadaki verilerin ilk 2 satırının veri alanı olmadığını varsayıyor. Yani ilk 2 satırı boş/başlık alanı gibi varsayarak kapsam dışında tutulmasını sağlıyor.

Ya belirttiğim özelliklerde yeni bir örnek belge yükleyin ya da yukarıdaki açıklamalara göre uyarlamaya çalışın.
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt