Alt alta aktarmada makro sorunu

Kısa Açıklama

Alt alta aktarmada makro sorunu isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
daha önce Ömer Baran üstadın katkıları ile


sayfasında çözüme ulaşmıştım..

aynı kodları aşağıdaki çalışmada kullanmaya kalktığımda sonuç alamadım..

gözümden kaçan nedir yardımcı olurmusunuz


iyi çalışmalar
 

Ekli dosyalar

Ney nereye aktarılıyor onu tam olarak anlamamış olabilirim.
Birkaç uyarı/öneride bulunayım, siz de kodları kendiniz bunlara göre düzenlersiniz.

-- makro kodlarında Türkçe karakter içeren değişken kullanmamaya özen gösteriniz ( İ - büyük harf i).
Bununla ilgili olarak MAC bilgisayarda sorun yaşandığını hatırlıyorum.
-- kullandığınız değişkenler, bu değişkenin neyi ifade ettiğini çağrıştıracak şekilde oluşturursanız daha iyi olur.
Örneğin; Set İ = Sheets("İNTERAKTİF VD") yerine Set ivd = Sheets("İNTERAKTİF VD")

Mevcut kodda;
-- kaç satır verinin aktarılacağı kararı verilirken, son dolu hücrenin satır numarasının
sons = F.Cells(Rows.Count, "Z").End(3).Row kod satırı ile "Z" sütununa göre tespit edileceği belirtilmiş,
oysa veri alanı A:O sütun aralığı. Ayrıca bu son veri satırı, her satırda zorunlu olarak DOLU olması gereken bir sütun üzerinden tespit edilmelidir.
Örneğin, sons = F.Cells(Rows.Count, "Z").End(3).Row yerine
sons = F.Cells(Rows.Count, "A").End(3).Row veya
sons = F.Cells(Rows.Count, 2).End(3).Row (2 sayısı B sütununu belirtiyor)
olmalıdır.

-- aktarılacak verilerin, hedef sayfada hangi satırdan itibaren aktarılacağı bilgisi de
Fİ = m.Cells(Rows.Count, "N").End(3).Row + 1 kod satırıyla "N sütunundaki ilk boş satır" diye tespit ediliyor.
Birinci sorun büyük harf İ kullanılması, ikinci (esas) sorun ise bu kod satırında kullanılan Fİ = m.Cells(....... kısmındaki m harfi.
Kodun önceki satırlarında m ile simgelenen (hangi sayfa) bir tanımlamanın olmadığı görülüyor.
Anladığım kadarıyla veriler İNTERAKTİF VD sayfasına aktarılacağına göre, m. yerine İ. yazılmalıdır.
Tabi büyük harf İ, önerim doğrultusunda değiştirilecek olursa, bunun yerine Set .... = Sheets("İNTERAKTİF VD") kısmında kulllanılan kısaltma neyse onu yazarsınız.
 
Üstad siz bana balık vermek yerine balık tutmayı öğreteyim dediniz
bu benimde hoşuma gitti ancak sanırım benim anlayamadığım yada bilemediğim yada gözümden kaçan bişeyler var
örnek dosyam olan EXCEL destesk Başka sayfaya alt alta aktarma 004 dosyasında sizin dediklerinizi uyguladım gayet güzel aktarıyor sorun yok
orjinal dosyam ALIŞ FATURA AKTARMA LİSTESİ YENİ VERSİYON 002 deki userformda bu kodu tanımlama yaptığımda sorun çıkıyor
orjinal dosyamda kontrol paneli ile user formu açıyorum
işlenenleri interaktife aktar butonuna bastığımda hata veriyor.
oysaki örnek dosyamda olan ve sonuç aldığım kodun aynısını orjinal dosyada sonuç alamadım akşam uğraştım sabah uğraştım gözden kaçan bişey var kesinlikle
 

Ekli dosyalar

Soru/sorunu anlatırken, hangi userform, hangi düğme gibi şeyleri net belirtirseniz daha iyi olur.
Malum forumda çok sayıda konu ve örnek belgeyi inceliyorum (kendi işlerimi söylemiyorum bile).

Sanırım USERFORM2'deki MUHASEBELEŞMEYENLERE AKTAR düğmesinden söz ediyorsunuz.
Bu düğme (CommandButton3) kodlarındaki şu satırda yer alan 6 sayısını 25 olarak değiştirerek deneyin.

sonsat = fl.Cells(Rows.Count, 6).End(3).Row
 
Üstad yok o sayfadan bahsetmiyorum..

Fatura listesi sayfasında ki kontrol paneli 1 butonuna bastığımda
açılan userformda işlenenleri interaktife aktar butonuna basarak fatura listesi sayfasındaki Y6 dan AF7000 alanını
interaktif vd sayfasında N7 den U7000 alanına aktarmak istiyorum
buraya bir sefer aktarmak kolay
ancak devamlı fatura listesi sayfasından aktarım yapacağım için
yeni ataracakları interaktif vd. sayfasına daha önce aktarılanların altına aktarmasını istiyorum..
yani kısacası ft listesinden her aktarımda int.vd. sayfasının altına aktarsın

teşekkürler
 
İlgili düğme kodunun başına aşağıdaki iki adet Dim ...... satırını ekleyin.
Kod bölümünün en başında Option Explicit ifadesi olduğundan.
kodda kullanılan tüm değişkenlerin Dim.... şeklinde tanımlanmaları gerekiyor.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst