Makronun olduğu dosya açıkken çalışan makro...

Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
Herkese selam, Çok basit bir problemim var ama bir türlü çözemedim...
Sizden ricam bu sorunuma bir çözüm bulabilmeniz... Şöyleki; açılış için kullandığım makro var aşağıdaki gibi...

Private Sub Auto_open()

Application.OnTime Now + TimeValue("00:00:05"), "veri"

End Sub


Bu makro aşağıdaki makroyu çalıştırıyor...



Private Sub veri()

Sheets("Dtbase").Select
Range("K3:AR3").Select
Range(Selection, Selection.End(xlDown)).Select
Range("K3:AR3001").Select
Selection.ClearContents
Range("K2:AR2").Select
Selection.AutoFill Destination:=Range("K2:AR3000"), Type:=xlFillDefault
Range("K2:AR3000").Select
Range("E2").Select
Sheets("Press").Select
Application.OnTime Now + TimeValue("00:00:05"), "Auto_open"


End Sub

Benim sormak istediğim konu ise, bu makrolar sadece bu çalışma kitabım açıksa çalışsın... Diğer excel dosyaları açıkken çalışmasın. Çünkü bu makroların bulunduğu excel sayfası günboyu bilgisayarımda açık duracak. Bu arada diğer excel sayfasında çalışırken makroları aktif olmasını istemiyorum. Aktif olsa bile arka planda çalışsın veya ben makroların ait olduğu dosyayı aktif hale getirdiğim zaman çalışsın...

Bu makroları module kısmına ekledim... Bu konuda acil yardımınıza ihtiyacım var... Teşekkürler...
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Mokronun diğer kodlarını noktaların olduğu yere yazarsan
if Workbooks.Count = 1 Then
....
End if
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
bu makroları ThisWorbook kısmına bile yazdım ama bu sefer hiç makrolar çalışmıyor...
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
sayın omerceri, cevabınız için teşekkürler,

Tam anlayamadım,

Private Sub Auto_open()
if Workbooks.Count = 1 Then
Application.OnTime Now + TimeValue("00:00:05"), "veri"
End if
End Sub


ve


Private Sub veri()

if Workbooks.Count = 1 Then
Sheets("Dtbase").Select
Range("K3:AR3").Select
Range(Selection, Selection.End(xlDown)).Select
Range("K3:AR3001").Select
Selection.ClearContents
Range("K2:AR2").Select
Selection.AutoFill Destination:=Range("K2:AR3000"), Type:=xlFillDefault
Range("K2:AR3000").Select
Range("E2").Select
Sheets("Press").Select
Application.OnTime Now + TimeValue("00:00:05"), "Auto_open"
End if

End Sub

Bu şekilde mi yapmam gerekiyor...
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
dediğiniz şekilde yaptım ama birden fazla excel sayfası açıkken makro çalışmıyor...
benim tam olarak istediğim aynı anda açık birden fazla excel sayfası var.... yukarıda verdiğim makrolar sadece makronun olduğu sayfa aktif durumdaysa çalışsın. yani başka bir excelde çalışıyorum bu arada makronun olduğu sayfaya geçiş yaptım. geçiş yaptığım zaman bu makrolar çalışsın veya aktif olsun.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Private Sub Worksheet_Activate()
...
End Sub
olayına yazmayı deneyin.
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
Daha önce şöyle bir yol denemiştim ama başaramamıştım. Onuda anlatayım...
Başka dosyalar açıkken hata olmaması için aşağıdaki kodu ekledim.

Windows("A.xls").Activate

Bundan sonra a.xls aktif hale geliyor ve makrolar çalışıyor. Ama daha sonra makro çalışmasını bitirdikten sonra en son çalıştığım excel dosyasına geri dönmesi için aşağıdakini yazdım. Ancak enson çalıştığım dosyaya geri döneceğine açık olan başka bir dosyaya geri dönüyor. İşim gereği aynı anda birçek excel dosyası bilgisayarımda açık durumda... Bu yüzden makronun ait olduğu dosya aktif durumda ise makrolar devrede olsun...

Windows.Application.ActiveWindow.ActivatePrevious
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
If ActiveWorkbook.Name = "Sizin dosya adınız.xls" Then
.......
End If
Dediğinizi yaptım ancak. dosyayı açıyorum makrolar çalışıyor ancak başka bir excele geçiyorum sonra tekrar makroların ait olduğu kısma dönüyorum bu sefer makrolar çalışmıyor...
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
sayın hamitcan, vermiş olduğunuz kodu benim yukarıda yazdığım koda nasıl uyarlayacağım...
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodu, ilgili sayfanın kod kısmına ekleyin. İlgili sayfa aktif edildiğinde kod çalışacaktır.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Sizin amacınız kodun sadece iligili kitap içinde çalışması zannedersem. Ama kod, başka bir çalışma kitabına geçildiğinde hata veriyor. Siz de bu hatayı engellemeye çalışıyorsunuz, doğru mu düşünüyorum ?
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
kafayı yemek üzereyim resmen... aslında belki çok basit bişey olabilir ama sabahtan beri bununla uğraştığım için kafam allak bullak oldu.... sabahtan beri denemediğim şey kalmadı...
 
Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
sayın hamitcan kesinlikle dediğiniz doğru... bu hatayı engellemeyi çalışıyorum... Kod sadece ilgili çalışma sayfasında çalışsın. eklediğim örnek dosyaya bakabilirseniz sanırım daha iyi anlayacaksınız... başka çalışma sayfaları açıkken çalışmasın. başka excelde çalışırken asıl çalışma sayfama döndüğünde makrolar çalışsın... tek umudum sizsiniz şuanda :)
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Eki inceleyin.
ThisWorkBook kısmına;
Kod:
Private Sub Workbook_Activate()
d = 0
Veri
End Sub

Private Sub Workbook_Deactivate()
d = 1
End Sub
Module1 içine;
Kod:
Public d As Byte
Sub Veri()
If d = 0 Then
    Sheets("Dtbase").Select
    Range("K3:AR3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("K3:AR3001").Select
    Selection.ClearContents
    Range("K2:AR2").Select
    Selection.AutoFill Destination:=Range("K2:AR3000"), Type:=xlFillDefault
    Range("K2:AR3000").Select
    Range("E2").Select
    Sheets("Press").Select
    Application.OnTime Now + TimeValue("00:00:02"), "veri"
    End If
End Sub
 

Ekli dosyalar

Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
sayın hamitcan, gerçekten emeğinize sağlık tam istediğim gibi oldu... Çok teşekkür ederim zaman ayırdığınız için...
 
Üst