alt+f11 ile kod kaydı?? 2makroyu anda anda çalıştırma

Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
1.sorum:

alt+f11 ile açılan pencerede çalılma sayfamı çift tıklayıp açılan pencerede hazır kodu yapıştırıyorum.pencereyi kırmızı çarpı ile kapatıp arka sayfadaki kaydete tıkladıktan sonra xcel çalışma sayfama dönüyorum.
kod çalışıyor.
ancak sayfayı açıp kapadığımda, kod sayfasına yine girince boş olduğunu görüyorum. kalıcı olarak nasıl kaydedebilirim?

2.sorum:
iki farkı iş yapacak kodu, alt 11 ile açılan pencerede çalışma sayfama çift tıklayıp açılan sayfaya peş peşe kopyalarsam hata veriyor. iki kodu aynı anda nasıl çalıştırabilirim.

bir arkadaş aynı soruya cevap vermiş ama anlayamadım.
yardımcı olursanız sevinirim.

cevabınızı bekliyorum
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

1. sorunuz: 2007 sürümü kullanıyorsanız, dosyayı kaydederken farklı kaydet menüsünden "makro içeren excel çalışması" olarak kaydedin.

2.sorunuz: Bu sorunuzu destekleyen küçük bir örnek dosya ekleyerek konuyu daha detaylı açıklarmısını.

.
 
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
cevabın için teşekkürler, o makro dosaysı olarak kaydettim ve oldu.
ikinci sorumla ilgili;

alt+f11 ile açılan pencerede makrosunu çalıştırmak istediğim sayfayı çift tıklayıp açılan pencereye
örneğin
2. satırı delete ve backspace tuşlarına karşı kitler

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
Application.OnKey "{Del}", ""
Application.OnKey "{Backspace}", ""
Else
Application.OnKey "{Del}"
Application.OnKey "{Backspace}"
End If
End Sub


Tarihli kaydetmeOption Explicit
Sub DateAsFilename()
Dim sFileName As String
sFileName = Format(Now, "dd.mm.yyyy") + ".xls" ' tarih formatını değiştirebilirsiniz (ddmmyy) gibi
ActiveWorkbook.SaveAs sFileName
End Sub


bu iki kodu çalıştırmak istiyorum. arada bir boşluk mu olacak nasıl peşpeşe yapacağız bunu sormuştum.

(bu arada ilk kod ile ikinci kodun başlangıçları farklı ikincisinmde option explicit diye başlıyor. ikiside aynı yerde çalışabilir değil mi?)
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
İkinci kod da mı hücreler her seçildiğinde çalışacak.

.
 
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
ikinci kod zaten dosyayı kaydettiğimizde dosya ismi olarak o günün tarihini atayan kod.
hücreler seçildiğinde derken kastınızı anlayamadım?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Birbirine bağlanmasını istediğiniz için sordum. Eğer ayrı çalıştıracaksanız;

VBA ekranından / Insert / Module ekleyip kaydet kodunu buraya yapıştırın.

.
 
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
ikinci kodu (güne göre kaydetme kodunu) module yerleştirdim. ancak save dediğimde günün tarihini atamıyor.acank modüle sayfasından play tuşuna basınca o tarihi atayarak kaydediyor
nerde eksik yapıyorum acaba?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kayıt işe çalışmasını istiyorsanız eski kodu silip,

ThisWorbook sayfasına;

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
                                Cancel As Boolean)
    Dim sFileName As String
    sFileName = Format(Now, "dd.mm.yyyy") + ".xls"
    ActiveWorkbook.SaveAs sFileName
 
End Sub
yapıştırınız.

.
 
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
sayfayı bir kere kaydediyor.sonr ikinci kez kaydetmek istediğinde aynı isimle üzerine yazarken hata veriyor. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim sFileName As String
sFileName = Format(Now, "dd.mm.yyyy") + ".xls"
ActiveWorkbook.SaveAs sFileName
End Sub

kırmızı satırda hata var diyor.
 
Son düzenleme:
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
aynı isimli dosyanın üzerine yazınca hata veriyor ..

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim sFileName As String
sFileName = Format(Now, "dd.mm.yyyy") + ".xls"
ActiveWorkbook.SaveAs sFileName
End Sub


(KIRMIZI OLAN SATIRDA HATA GÖSTERİYOR)
 
Katılım
20 Nisan 2011
Mesajlar
61
Excel Vers. ve Dili
2007
ömer bey ağzımıza bir parmak bal çaldın kayboldun ..
şu başladığımız işi bitirelim güzel kardeşim ...
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Aceleci davranmamanızı rica ederim...

Kayıt kodlarını denememiştim. Sizin #3 numaralı mesajınızdaki kodları yazmanız gerek modulü açıklamaya çalışmıştım.

Açtığınız diğer başlığa kayıt ile ilgili yanıt verdim, konuyu oradan takip edersiniz.

Diğer konu başlığınız.
 
Üst