Makro ile sayfa çoğaltma, ama..?

Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
İyi günler,
Ekli dosya ile veri sayfasında M hücresine veri girdikten sonra rapor sayfasından bir kopya oluşturuyor ve veri sayfasındaki A sütunundaki isim ile dosyayı tanımladığımız klasöre kayıt ediyor. Çalışmasında problem yok. Ancak rapor sayfasında formüller ile farklı veriler çağırdığımdan dolayı oluşan yeni rapor dosyasıda formülleri ile oluşmaktadır. Bu nedenle formülleri kaldırmak için kopyala değerleri yapıştır işlemi yapmam gerekiyor. Ancak rapor sayfasındaki Worksheet change olayından dolayı değerleri yapıştır dediğimde hata veriyor. (Çünkü X3 hücresinde veri güncelleştirilmiş oluyor.) Bu durumdan kurtulmak için aklıma iki yöntem geliyor;
1- Sayın dEdE'nin önerisi : Yeni oluşan rapor sayfasına orjinal dosyadaki makroların taşınmaması
2- Yeni oluşan rapor dosyasına formüllerin oluşurken değer olarak gelmesi

Bu durumu çözmek için hangi yöntem uygulanabilir?
Bu konuda üstadların yardımını rica ediyorum.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,482
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Dosya_Adı As String
    If Intersect(Target, [X3]) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Sheets("rapor").Select
    Sheets("rapor").Copy
    Application.EnableEvents = False
    ActiveSheet.Cells.Copy
    ActiveSheet.Cells.PasteSpecial (xlPasteValues)
    Application.EnableEvents = True
    ActiveSheet.Range("A1").Select
    Dosya_Adı = Sheets("rapor").Cells(3, 24).Value & ".xls"
    Sheets_Adı = Cells(3, 24).Value & ".xls"           ' *********** Bu satır gereksiz.***************
    ActiveWorkbook.SaveCopyAs Filename:="C:\Desktop" & Application.PathSeparator & Dosya_Adı
    ActiveWorkbook.Close 0
    Sheets("veri").Select
End Sub
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
İyi geceler Sayın Korhan Ayhan,
Kod için teşekkür ederim. Öneriniz üzerine gereksiz olan satırı silerek dosyama uyguladım ve istediğim sonucu verdi. Yardımlarınız için teşekkür ederim.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,

İşinize yaradığına sevindim. Böylece ben de öğrenmiş oldum. Bu vesile ile Sayın Korhan Ayhan'a bir kez daha teşekkür ediyorum.
Aslında Application.EnableEvents bildiğim bir olaydı ama uygulamak aklıma gelmemişti.
Ancak, "'*********** Bu satır gereksiz.***************" önerisi bana aitti. :) hakkımı yemeyin. :)

Hoşça kalın.
 
Katılım
27 Aralık 2008
Mesajlar
131
Excel Vers. ve Dili
Excel 2007 & 2003 Türkçe
İyi günler sayın dEdE
Hakkınızı yemek gibi bir niyetim yok. :)
Size de çok teşekkür ederim. Ayrıca forumda sorulan her hangi bir soruya cevap vermeyen ama her gün bütün açılan konuları açıp sonuna kadar okuyan, bunlar üzerinde düşünen, geliştirmeye çalışan diğer arkadaşlara da teşekkür ederim. Bugün bilgisayarı chat aracı olarak kullanan büyük bir çoğunluğun olduğu bir ortamda gerek işi ile ilgili, gerek özel merakı ve gerekse kendini geliştirmek için bu tip öğretici site de zaman geçiren tüm arkadaşlara teşekkür ederim.
Ben kendimden bir örnek vereyim. Burada sizler tarafından oluşturulan bir modülü işim ile kullanmam nedeni ile yıllık olarak
5000 adet A4 kağıt
Lazer kartuş (min. 3 adet)
5000*5 dk. zaman
+ Bilgilere ulaşılabilme kolaylığı (benim için değer biçilemez çünkü işim Kalite Güvence)
Bu gibi uygulamaları tüm katılımcıların uyguladığını düşünürsek ülkede üretkenlik ve kaynakların kullanımı hakkında büyük bir hizmet yapıldığını düşünüyorum. Tekrar bu ve bunun gibi forumlarda zaman geçiren herkese saygılar ve kurucularına teşekkürler.
 
Üst