• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücreye makro atama

Katılım
15 Ağustos 2007
Mesajlar
97
Excel Vers. ve Dili
excell 2003 türkçe
Arkadaşlar herhangi bir hücreye makro(mesela yazdır) makrosu nasıl atayabilirim? Buton değilde hücre yapmamın sebebi: doldurulması gereken alanları doldurduktan sonra yazdır butonu( koşullu biçimlendirmeil ) çıkıyor. EBöyle çok estetik oluyor. fakat yazdır makrosu atayamıyorum.
 
Aşağıdaki kodları sayfanın kod bölümüne yazabilirsiniz.

m15 hücresine çift tıkladığınızda makronuz çalışacaktır.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If Intersect(Target, [m15]) Is Nothing Then Exit Sub
'Kodlarınız....
End Sub
 
Teşekkürler...Bunu tek tıklamayla yapmak mümkünmü? DoubleClick deki Double çıkardım fakat olmuyor.
 
Son düzenleme:
Aşağdaki örnek kodu kendinize göre revize ediniz.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$H$1" Then PrintOut
End Sub
 
Teşekkürler Syit_Tiken. tek tıklama ilde çalışıyor. Yalnız hücreyi seçince hücre etrafında oluşan çerçeveyi işim bitince nasıl otomatik kaldırabilirim. Çünkü yazma işlemi bitip programı kapatıp tekrar açtığım zaman orada yazdır'a dair hiç iz kalmamasını istiyorum.

Çok şeymi istiyorum acaba...

Şöylede olabilir. Sayfa değiştirdiğimde veya kapattığımda başkabir hücreyi seçtirirsek herhalde olur.
Ama nasıl yapabilirim.
 
Son düzenleme:
başka hücre seçme işlemini denedim, USERFORM'u açan commandButton'a kod olarak ekledim. Eğer sayfa aktifse başka hücreyi seçiyor. Başka sayfa üzerindeysem hata veriyor. Bunun gibi başka sayfalarda var. CommandButton'u tıklayınca hepsinde de başka hücre seçsin istiyorum ama olmuyor.
 
Son düzenleme:
Sheets("SEVK").Range("A6564").Select
yazıyorum. eğer sevk sayfasındaysam komut çalışıyor. başka sayfadaysam hata veriyor.
Not: CommandButton'un asıl vazfesi USERFORM'u açmak, böylece USERFORM açılırken YAZDIR çevresindeki çerçevede kayboluyor. Ancak bu kodları diğer sayfalar içinde uyulayıp aynı yere yerleştirince, diğer sayfaların hepsinde birden olamayacağımızdan hata mesajı alıyorum.

Bu arada çok oluyorsun demezsen şunuda sorabilirmiyim?
Yazdır komutuyla hemen yazdırmasada yazdırma tercihlerinin soran bir ekran çıksa acaba mümkünmü?
 
1. sorunuz için direk Range("A6564").Select yazarak deneyin.

2.sorunuz için
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$H$1" Then Application.Dialogs(xlDialogPrint).Show
End Sub

kodlarını kullanabilirsiniz.
 
Bu arada çok oluyorsun demezsen şunuda sorabilirmiyim?
Yazdır komutuyla hemen yazdırmasada yazdırma tercihlerinin soran bir ekran çıksa acaba mümkünmü?

Bizde bu aşamalardan geçtik. Sonuçta bir tasarım yapıyorsunuz, ciddi bir program için noksanlıklardan arındırılması gerek. Onun için, sormaktan çekinmeyiniz. Aşağıdaki kodu deneyiniz.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [H1]) Is Nothing Then Exit Sub
uyar = MsgBox("Sayfayı Yazdırmak İstiyormusunuz?", vbYesNo + vbInformation, "UYARI")
If uyar = vbNo Then
[a1].Select
Exit Sub
Else
ActiveSheet.PrintOut: [a1].Select
End If
End Sub
 
Çok TeŞekkÜr Ederİm ArkadaŞlar....
Şu an için kendi açımdan mükemmel oldu.
 
Son düzenleme:
Geri
Üst