Soru her bir sayfada uyarı mesajı vermesi

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,332
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
Sub auto_open()
MsgBox "merhaba..."
End Sub

Yukarıdaki kod ile excel açıldığında hangi sayfada ise bu mesaj geliyor..
çalışma kitabında farklı sayfalara girildiğinde farklı mesaj vermesi için makro kodu nasıl olması lazım

sayfa 1 merhaba
sayfa 2 iyi günler
sayfa 3 selam.... vb
çalışma kitabında çok sayfa olduğu için her bir makro koduna sayfa isimleri yazmak yerine sayfa isminden aldırabilirmiyiz

teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Thisworkbook modülünde Workbook_SheetActivate olayına aşağıdaki gibi yazarak deneyin.

Kod:
select case activesheet.name

case "Sayfa1" : msgbox "sayfa1"

case "sayfa2" : msgbox "sayfa2"

.
.
.

end select
 

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,332
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
Üstad desteğiniz için teşekkürler

Case Sayfa1 den alıyor ya benim çalışmamda sayfalar çok
bu Sayfa1 ismini sekmeden alabilirmi yani hangi sayfaya girersem ona göre mesaj versin

nadir sayfasına girince "merhaba"
yıldız sayfasına girince "iyi günler" gibi
mesaj versin yukarda oluyor ancak sayfa çok olduğu için ayrı ayrı tanımlama gerekiyor..
sayfa isimlerini makroya çekebilir miyiz gibi bir durum var

böyle birşey mümkün müdür acaba

Teşekkürler & iyi çalışmalar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sayfaya göre verilecek mesajı kodlamak için zaten sayfa adını kod içinde tanımlamanız gerekir. Ancak her sayfanın bir hücresinde verilecek mesaj yazılı olsaydı aşağıdaki gibi tek bir kodlama ile yapabilirdiniz.

Thisworkbook (BuÇalışmaKitabı) modülüne yazılmalıdır.

Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox Range("A1")
End Sub
"activesheet.name" aktif sayfanın adını verir.
 
Son düzenleme:

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,332
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
Evet üstad bu çok daha iyi oldu

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox Range("A1")
MsgBox Range("A2")
MsgBox Range("A3")
End Sub


şeklinde yaptığımda birden çok mesaj çıkıyor


Teşekkürler & iyi çalışmalar
 
Üst