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.