Hücre değişince yeni sayfa ekleme

Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Yaptığım çizelgede boş bir örnek form sayfası hazırladım. Aynı formu bir çok kez kullanacağım. Form A1:AP48 hücrelerinde.
Formdaki bilgileri doldurup, en son AP6 hücresine bilgi girdiğimde ve enter'a bastığımda formdan bilgiler dolu şekliyle kopya alınarak yeni bir sayfa olarak eklenmesini ve sayfa ismininde AP6 hücresine girilen değerin olmasını istiyorum.
Ayrıca örnek forma girilen bilgiler sayfa eklendikten sonra silinecek ve form hep boş olacak.

Makro kodlarını nasıl yazmalıyım?

Teşekkürler.
 

Korhan Ayhan

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

Ekteki örneği incelermisiniz.
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Sayın COST_CONTROL,

Emeğinize teşekkür ederim. Fakat sayfayı kopyalarken biçimlendirmeler bozuluyor. Ayrıca tüm verileri siliyor.
Tüm sayfayı biçimlendirmeleriyle birlikte bire bir kopyalayabilir miyiz? Kopyaladıktan sonra sadece belli hücrelere girilen veriler silinsin. Örnek form sayfasındaki diğer veriler kalsın istiyorum. (Örneğin K1, M1, S4, O8...gibi hücreler silinsin)

Teşekkürler.
 

Korhan Ayhan

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

Aşağıdaki kodu kopyalanacak sayfanın kod bölümüne uygulayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error GoTo HATA
Set S1 = Sheets("FORM")
If Target.Address <> "$AP$6" Then Exit Sub
If S1.[AP6] <> "" Then
S1.Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = S1.[AP6].Value
ActiveSheet.[A1].Select
Dim YeniSayfa As Object
Set YeniSayfa = ThisWorkbook.VBProject.VBComponents(Sheets(Worksheets.Count).CodeName).CodeModule
YeniSayfa.DeleteLines 1, YeniSayfa.CountOfLines
S1.Select
[K1,M1,O8,S4].ClearContents
Target.Select
End If
Exit Sub
HATA:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
S1.Select
Target.Select
MsgBox "Aynı isimde sayfa mevcuttur." _
& Chr(10) & Chr(10) & "Lütfen girdiğiniz bilgileri kontrol ediniz.", vbExclamation, "Dikkat !"
Application.ScreenUpdating = True
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Sayın COST_CONTROL,

Sayfa eklenmiyor ve her seferinde "Aynı isimde sayfa mevcuttur." mesajı çıkıyor.

Saygılar.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Araçlar-Makro-Güvenlik kısmından Güvenilir kaynaklar sekmesinden Visual Basic Project Erişimine Güven kısmını seçtikten sonra Sn COST_CONTROL ün kodlarını çalıştırın.
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Teşekküler.
 
Üst