• DİKKAT

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

tarih macrosu

  • Konbuyu başlatan Konbuyu başlatan kuşak
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Eylül 2006
Mesajlar
67
Excel Vers. ve Dili
2003 türkçe
öncelikle herkese selam. Elimde bir tablo var ve a1 hücresine çift tıkladığımda tarih denetim aracının gelmesini ve istediğim tarihi seçip a1 hücresine geçirmesini istiyorum fakat yapamadım takvim denetim aracı sürekli açık kalıyo. :yardim:
not: Bu uygulama listboxtan da mümkünse o uygulamanında örneğini bilen var mı :???:
yardımcı olmaya çalışanlar için çok teşekkür ederim
 
Son düzenleme:
listbox

elinize sağlık sayın fpc
Listboxta böyle bişey yapmak mümkün müdür?
 
Ekteki dosyayı inceleyiniz.

A1 hücresine çift tıkladığınız zaman; "listbox" şeklinde bir "dtpicker" nesnesi görünür.
 
Sn. fpc;
Bu dosyada a1 hücresi seçildiğinde tarih formunun açılması sağlanabiliyor.

Peki o hücre seçildikten sonra herhangi bir tarih girmeden yalnızca oklarla veya enter tuşuyla formun kapanmasını ve o hücreden çıkılmasını sağlayabilir miyiz?
 
Son düzenleme:
Sn. fpc;

Sizin verdiğiniz kodları kendi sayfama uyarlamaya çalıştım, kod çalışmasına çalışıyor ama mesela 100. satırda userform göremeyeceğim ve ulaşamayacağım bir yerde açılıyor. Yani tıkladığım hücrenin yanında değil de çok daha aşağılarda.

1-Bu "DateTimePicker'in" tıkladığım hücrenin yanında açılmasını nasıl sağlayabiliriz?

2-Satır eklememi sağlayan bir tuş var, bu tuşla satır ekledikçe oluşan yeni satırlarda da bu tarih özelliğinin olmasını sağlayabilir miyiz?
 
Sn.Aktolgali

Ekteki dosyayı inceleyiniz.

Zaman darlığından dolayı detaylara inemedim ama bu haliyle de işinizi görür sanırım.

UF'nin görünmeyen yerde açılması; daha önceki kodlarda scrool olayının hesaba katılmamasındandı. Bu kodlar mousepointer'a göre konum belirlemektedir.

"Esc" tuşuna bastığınızda da, takvim kapanır.
 
Son düzenleme:
Sn.fpc Hocam;
Aşağıda görülen hatayı alıyorum, ne ola?


(Forum ve Sayfa düzenini bozmamak adına resim silinmiştir)

 
Son düzenleme:
Dosyanızın Modül3 kısmına; "Option explicit" ile, değişken tanımlamalarını mecburi kılan bir deklarasyon ilave etmişsiniz. Eğer modül sayfasının üzerinde bu tür bir satır varsa; tüm değişkenler önceden, deklare edilmelidir (tanımlanmalıdır).

Ya "Option Explicit" ifadesini silin, ya da bunun hemen altına "dim l" yazın.

Eğer sürekli modül veya kod sayfası açılışlarında; "Option Explicit" otomatik geliyorsa ve siz çok büyük projelerle uğraşmıyosanız, VBE'de, Tools->Option->Editor sekmesindeki, "Require Variable Declaration"'un karşısındaki işareti kaldırın.
 
Dtpicker nesnesinin bulunduğu Userformun adı ne sizde?

Forms bölümünün altında yazar, tıpkı modüller gibi....
 
Peki, hatayı verdikten sonra, hata mesajını kapat ve F8'le Debug'a devam et. Bir başka satırda daha hata verecektir. Onun resmini bana gönderir misin?

NOT :Resimleri gönderirken, ekran görüntüsünde Hata mesajı kutusu da gözükürse iyi olur

Bir şey daha, userformun Initialize veya Activate olaylarına; -ayrıca- kod ilave ettiniz mi veya varsa bu kodları da gönderir misin?
 
Son düzenleme:
Peki, hatayı verdikten sonra, hata mesajını kapat ve F8'le Debug'a devam et. Bir başka satırda daha hata verecektir. Onun resmini bana gönderir misin?

Peki bunu yaptınız mı?

Lütfen hata kutusunda neler yazdığını da belirtin.
 
Kod:
Private Sub Userform_Initialize()
satırını
Kod:
Private Sub Userform[COLOR="Red"]1[/COLOR]_Initialize()
yaptım çalıştı.

Bir de hocam dtpickeri kursörün yanında açılmasını hangi satırlardan sağlayacağız.

Kod:
sol = MyPointAPI.X - 5
ust = MyPointAPI.Y - 100

yukarıda ki satırları ne yaptıysam hiç bişey değişmedi...
 
Sn.Aktolgalı

Takvimin, Mouse'un click'lendiği noktada çıkması için kodlar aşağıdadır.

Ayrıca, "8" Nolu mesajdaki dosyayı, bu kodlara göre revize ettim. İncelersiniz.

NOT : Aşağıdaki kodlar; Userform'un kod sayfasına yazılmalıdır

Kod:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Declare Function FindWindow Lib "user32" Alias _
      "FindWindowA" (ByVal lpClassName As String, ByVal _
      lpWindowName As String) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd _
      As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
      ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Sub UserForm_Activate()
Dim lngCurPos As POINTAPI
    GetCursorPos lngCurPos
    mousex = lngCurPos.x
    mousey = lngCurPos.y
    UfYukseklik = Me.Height + 28
    UFGenislik = Me.Width + 62
    wHandle = FindWindow(vbNullString, Me.Caption)
    MoveWindow wHandle, mousex, mousey, UfYukseklik, UFGenislik, 1
CommandButton1.Cancel = True
MonthView1.Value = Date
Me.Caption = "Takvim"
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
ActiveCell.Value = MonthView1.Value
Unload Me
End Sub
 
Teşekkür ederim Sn.fpc
 
Geri
Üst