hatalı tarih girişinde msgbox

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sayfa1 Kodlarını aşağıdaki gibi
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, [G5:J20]) Is Nothing Then Exit Sub
takvim.Show
If ActiveCell.Value = "" Then Exit Sub
tarih = ActiveCell.Value
If tarih < Range("b3").Value Then
    MsgBox "Denetim Ba&#351;lang&#305;&#231; tarihinden k&#252;&#231;&#252;k tarih giremezsiniz"
    ActiveCell.Value = ""
ElseIf tarih > Range("b4").Value Then
    MsgBox "Denetim Biti&#351; tarihinden b&#252;y&#252;k tarih giremezsiniz"
    ActiveCell.Value = ""
End If
'buradaki 8 ve 10 ba&#351;lang&#305;&#231; s&#252;tun nolar&#305;d&#305;r di&#287;er sayfada nerde ise ona g&#246;re revize edin.
If ActiveCell.Column = 8 Or ActiveCell.Column = 10 Then
    BsTr = ActiveCell.Offset(0, -1).Value
    Fark = tarih - BsTr
    If Fark < 7 Then
    MsgBox "Biti&#351; tarihi ba&#351;lang&#305;&#231; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
    ActiveCell.Value = ""
    End If
End If

'buradaki 9 1. a&#351;ama biti&#351; tarihidir di&#287;er sayfalarda revize edin.
If ActiveCell.Column = 9 Then
    BsTr = ActiveCell.Offset(0, -1).Value
    Fark = tarih - BsTr
    If Fark < 7 Then
    MsgBox "2. A&#351;ama Ba&#351;lang&#305;&#231; tarihi, 1. a&#351;ama biti&#351; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
    ActiveCell.Value = ""
    End If
End If
End Sub


'======================================
userdorm kodalr&#305;n&#305; da a&#351;&#287;&#305;daki gibi revize edin
Kod:
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
ActiveCell.NumberFormat = "dd.mm.yy"
Unload Me
End Sub

Private Sub UserForm_Initialize()
Calendar1.Value = Range("b3").Value
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Bu sat&#305;r&#305; de&#287;i&#351;tirin
If Intersect(ActiveCell, [G5:J20,L5:L20]) Is Nothing Then Exit Sub


End sub &#305; silip bunlar&#305; yap&#305;&#351;t&#305;r&#305;n
Kod:
'4   kontrol tarihi, denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
'MsgBox ActiveCell.Column
If ActiveCell.Column = 12 Then

    Kntrh = ActiveCell.Value
    BsTr1 = ActiveCell.Offset(0, -5).Value     '5 s&#252;tun &#246;nce
    BtTr1 = ActiveCell.Offset(0, -4).Value     '4 s&#252;tun &#246;nce
    BsTr2 = ActiveCell.Offset(0, -3).Value     '3 s&#252;tun &#246;nce
    btTr2 = ActiveCell.Offset(0, -2).Value     '2 s&#252;tun &#246;nce
    
    '11/08/2007  18/08/2007
    If btTr2 = "" Then
       If Kntrh < BsTr1 And Kntrh > BtTr1 Then
       
          MsgBox "1. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
       End If
    'MsgBox "2. A&#351;ama Ba&#351;lang&#305;&#231; tarihi, 1. a&#351;ama biti&#351; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
    'ActiveCell.Value = ""
    End If
End If

End Sub
4. iste&#287;iniz i&#231;in &#231;al&#305;&#351;&#305;yordum ama beynim iflas etti, hangisi k&#252;&#231;&#252;k hangisi aral&#305;kta kar&#305;&#351;t&#305;rmaya ba&#351;lad&#305;m :)

bir module bunlar&#305; yap&#305;&#351;t&#305;r&#305;n
Kod:
Function ilkg&#252;n(tarih)
    ilkg&#252;n = Format(tarih - Day(tarih) + 1, "dd/mm/yyyy")
End Function
Function song&#252;n(tarih)
    song&#252;n = Format((DateSerial(Year(tarih), Month(tarih) + 1, 1)) - 1, "dd/mm/yyyy")
End Function
daha sonra ko&#351;ul ger&#231;ekle&#351;mi&#351;se Activecell.value = ilkg&#252;n(Activecell.value) yaz&#305;n
21/8/2007 > 01/08/2007 olsun
benden bu kadar yar&#305;n bakar&#305;z
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
Private Sub UserForm_Initialize()
Calendar1.Value = Range("b3").Value
End Sub
bu kod örnek dosyada işe yaramıştı ancak asıl dosyada çalışmadı.

mesela asıl dosyamda sayfa1 in adını "giriş sayfam" diye değiştirmişsem, bu sayfanın "B12" hücresindeki tarihi, takvim başlangıç tarihi olarak almak istediğimde userform un kod sayfasında
Calendar1.Value = Range?("B12").Value nasıl yazmalıyım?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam olacak gibi siz userformun &#231;arp&#305;dan kapat&#305;lmas&#305;n&#305; engelelyen kodu bulun
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
syn hsayar, &#231;ok te&#351;ekk&#252;rler. saat 12:00 ge&#231;ti, pil bitti. (ben laz'&#305;m ;) )
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Belli sayfadan almak i&#231;in Sheets("sayfa").Range("b2") gibi
son 4 ve 5 i de &#231;&#246;zd&#252;m uyku tutmad&#305; ayln&#305;z a&#231;&#305;klamada da g&#246;receksiniz ilk tarihi ayn&#305; h&#252;creye yaz&#305;nca hata veriyor takvim geliyor vazge&#231;ecen &#231;arp&#305;dan kapat&#305;yorsun hatalar&#305; s&#305;ral&#305;yor
eski tarihi t&#305;klayacan g&#246;remiyorsun
Bende Yan H&#252;creye yazd&#305;rmakta buldum &#231;&#246;z&#252;m&#252;
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
ayn&#305; ama &#231;&#246;zmedende uyku tutmuyor
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, [G5:J20,L5:L20]) Is Nothing Then Exit Sub
ilkh = ActiveCell.Value
takvim.Show

If ActiveCell.Value = "" Then Exit Sub

tarih = ActiveCell.Value

'1   ba&#351;lang&#305;&#231; ve biti&#351; tarihleri denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
If tarih < Range("b3").Value Then
    MsgBox "Denetim Ba&#351;lang&#305;&#231; tarihinden k&#252;&#231;&#252;k tarih giremezsiniz"
    ActiveCell.Value = ""
ElseIf tarih > Range("b4").Value Then
    MsgBox "Denetim Biti&#351; tarihinden b&#252;y&#252;k tarih giremezsiniz"
    ActiveCell.Value = ""
End If

'2   her a&#351;amadaki biti&#351; tarihi ba&#351;lang&#305;&#231; tarihinden en az 7 g&#252;n b&#252;y&#252;k olmal&#305;
If ActiveCell.Column = 8 Or ActiveCell.Column = 10 Then
    BsTr = ActiveCell.Offset(0, -1).Value
    Fark = tarih - BsTr
    If Fark < 7 Then
    MsgBox "Biti&#351; tarihi ba&#351;lang&#305;&#231; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
    ActiveCell.Value = ""
    End If
End If

'3   2. a&#351;ama ba&#351;lang&#305;&#231; tarihi 1. a&#351;ama biti&#351; tarihinden en az 7 g&#252;n b&#252;y&#252;k olmal&#305;
If ActiveCell.Column = 9 Then
    BsTr = ActiveCell.Offset(0, -1).Value
    Fark = tarih - BsTr
    If Fark < 7 Then
    MsgBox "2. A&#351;ama Ba&#351;lang&#305;&#231; tarihi, 1. a&#351;ama biti&#351; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
    ActiveCell.Value = ""
    End If
End If
'4   kontrol tarihi, denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
'MsgBox ActiveCell.Column
If ActiveCell.Column = 12 Then
    'Or ActiveCell.Value = ""
    Bstr1 = ActiveCell.Offset(0, -5).Value     '5 s&#252;tun &#246;nce
    Bttr1 = ActiveCell.Offset(0, -4).Value     '4 s&#252;tun &#246;nce
    Bstr2 = ActiveCell.Offset(0, -3).Value     '3 s&#252;tun &#246;nce
    Bttr2 = ActiveCell.Offset(0, -2).Value     '2 s&#252;tun &#246;nce
    'If IsDate(ActiveCell.Value) Then Exit Sub
    
    '11/08/2007  18/08/2007
    If Bttr2 = "" Then
       If tarih < Bstr1 Or tarih > Bttr1 Then
       MsgBox "1. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
       ActiveCell.Value = ""
       Else
       ActiveCell.Value = ilkg&#252;n(ActiveCell.Value)  'yeniden t&#305;kland&#305;&#287;&#305;nda durmadan hata veriyor
       'ActiveCell.Offset(0, 1).Value = ilkg&#252;n(ActiveCell.Value)
       End If
    Else
       If tarih < Bstr2 Or tarih > Bttr2 Then
        MsgBox "2. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
       ActiveCell.Value = ""
       Else
       ActiveCell.Value = ilkg&#252;n(ActiveCell.Value)  'yeniden t&#305;kland&#305;&#287;&#305;nda durmadan hata veriyor
       'ActiveCell.Offset(0, 1).Value = ilkg&#252;n(ActiveCell.Value)
       End If
    End If
End If
        
If ilkh <> "" And IsDate(ilkh) Then ActiveCell.Value = ilkh

End Sub
ilktarihi haf&#305;zas&#305;na ald&#305;rd&#305;m mesajlar gelir gelir gider, sonra eski de&#287;er yazar sadece &#231;arp&#305;ya bas&#305;n yeter
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Syn hsayar,
kontrol tarihi s&#252;tununun amac&#305;n&#305; tam olarak anlatamam&#305;&#351;&#305;m.
su L s&#252;tununa girilecek tarih s&#305;n&#305;rlamas&#305; sadece denetim ba&#351;lang&#305;&#231; ve biti&#351; tarihi aral&#305;&#287;&#305;nda olacak B3 den k&#252;&#231;&#252;k- B4 den b&#252;y&#252;k olmayacak, 1. ve 2. a&#351;ama ile ilgisi yok.
kontrol tarihi 27.04.2007 girilmi&#351;se 01.04.2007 &#351;eklinde de&#287;i&#351;mesi ilkg&#252;n fonksiyonu ile yap&#305;lmas&#305; yeterli.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Syn hsayar,
kontrol tarihi sütununun amacını tam olarak anlatamamışım.
su L sütununa girilecek tarih sınırlaması sadece denetim başlangıç ve bitiş tarihi aralığında olacak B3 den küçük- B4 den büyük olmayacak, 1. ve 2. aşama ile ilgisi yok.
kontrol tarihi 27.04.2007 girilmişse 01.04.2007 şeklinde değişmesi ilkgün fonksiyonu ile yapılması yeterli.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, [G5:J20,L5:L20]) Is Nothing Then Exit Sub

10
ilkh = ActiveCell.Value
takvim.Show
tarih = ActiveCell.Value


'If ActiveCell.Value = "" Then Exit Sub

If ActiveCell.Column = 7 Or ActiveCell.Column = 8 _
Or ActiveCell.Column = 9 Or ActiveCell.Column = 10 Then
'1 başlangıç ve bitiş tarihleri denetim tarihleri aralığında olmalıdır
If tarih < Range("b3").Value Then
MsgBox "Denetim Başlangıç tarihinden küçük tarih giremezsiniz"
ActiveCell.Value = ""
GoTo 10
ElseIf tarih > Range("b4").Value Then
MsgBox "Denetim Bitiş tarihinden büyük tarih giremezsiniz"
ActiveCell.Value = ""
GoTo 10
'End If

'2 her aşamadaki bitiş tarihi başlangıç tarihinden en az 7 gün büyük olmalı
ElseIf ActiveCell.Column = 8 Or ActiveCell.Column = 10 Then
BsTr = ActiveCell.Offset(0, -1).Value
Fark = tarih - BsTr
If Fark < 7 Then
MsgBox "Bitiş tarihi başlangıç tarihinden 7 gün fazla olmalıdır"
ActiveCell.Value = ""
GoTo 10
End If
'End If

'3 2. aşama başlangıç tarihi 1. aşama bitiş tarihinden en az 7 gün büyük olmalı
ElseIf ActiveCell.Column = 9 Then
BsTr = ActiveCell.Offset(0, -1).Value
Fark = tarih - BsTr
If Fark < 7 Then
MsgBox "2. Aşama Başlangıç tarihi, 1. aşama bitiş tarihinden 7 gün fazla olmalıdır"
ActiveCell.Value = ""
GoTo 10
End If
End If
End If



'4 kontrol tarihi, denetim tarihleri aralığında olmalıdır
'MsgBox ActiveCell.Column
If ActiveCell.Column = 12 Then
'Or ActiveCell.Value = ""
Bstr1 = ActiveCell.Offset(0, -5).Value '5 sütun önce
Bttr1 = ActiveCell.Offset(0, -4).Value '4 sütun önce
Bstr2 = ActiveCell.Offset(0, -3).Value '3 sütun önce
Bttr2 = ActiveCell.Offset(0, -2).Value '2 sütun önce
'If IsDate(ActiveCell.Value) Then Exit Sub

'11/08/2007 18/08/2007
If Bttr2 = "" Then
If tarih < Bstr1 Or tarih > Bttr1 Then
MsgBox "1. Aşama için yanlış aralıkta kontrol tarihi girdiniz"
ActiveCell.Value = ""
GoTo 10
Else
ActiveCell.Value = ilkgün(ActiveCell.Value) 'yeniden tıklandığında durmadan hata veriyor
'ActiveCell.Offset(0, 1).Value = ilkgün(ActiveCell.Value)
End If
Else
If tarih < Bstr2 Or tarih > Bttr2 Then
MsgBox "2. Aşama için yanlış aralıkta kontrol tarihi girdiniz"
ActiveCell.Value = ""
GoTo 10
Else
ActiveCell.Value = ilkgün(ActiveCell.Value) 'yeniden tıklandığında durmadan hata veriyor
'ActiveCell.Offset(0, 1).Value = ilkgün(ActiveCell.Value)
End If
End If
End If

'If ilkh <> "" And IsDate(ilkh) Then ActiveCell.Value = ilkh

End Sub
ben sorun görmedim şimdi bitridim...işe gelince
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
örnek dosya düzenlendi

merhaba
syn hsayar,
çok emek harcadınız, teşekkür ederim.
örnek dosyayı eklerken asıl dosya ile tam ilişkilendiremediğim için boşuna zorluk yaşadınız, özür.
internet bağlantımda sorun olduğu için sizin çalışmanızı inceleme fırsatım olmadı, ilk bakışta asıl dosyaya uyarlamak için bikaç değişiklik gerekiyor.
ekteki dosyada bunu daha iyi anlatmaya çalıştım. inceleyebilirseniz düzenlemek daha kolay olacaktır.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam ger&#231;ekle&#351;en sayfan&#305;zda kontrol tarihlerini imalat sayfas&#305;ndan ald&#305;&#287;&#305;na g&#246;re G:J aral&#305;&#287;&#305;nda takvime gerek yok

Ger&#231;ekle&#351;en sayfas&#305;n&#305;n kodlar&#305;n&#305; a&#351;a&#287;&#305;daki gibi yap&#305;n&#305;z

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, [L5:L20]) Is Nothing Then Exit Sub

10
ilkh = ActiveCell.Value
takvim.Show
tarih = ActiveCell.Value

'4 kontrol tarihi, denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
'MsgBox ActiveCell.Column
If ActiveCell.Column = 12 Then
'Or ActiveCell.Value = ""
Bstr1 = ActiveCell.Offset(0, -5).Value '5 s&#252;tun &#246;nce
Bttr1 = ActiveCell.Offset(0, -4).Value '4 s&#252;tun &#246;nce
Bstr2 = ActiveCell.Offset(0, -3).Value '3 s&#252;tun &#246;nce
Bttr2 = ActiveCell.Offset(0, -2).Value '2 s&#252;tun &#246;nce
'11/08/2007 18/08/2007
    If Bttr2 = "" Then
        If tarih < Bstr1 Or tarih > Bttr1 Then
            MsgBox "1. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
            ActiveCell.Value = ""
            GoTo 10
        Else
            ActiveCell.Value = ilkg&#252;n(ActiveCell.Value) 
        End If
    Else
        If tarih < Bstr2 Or tarih > Bttr2 Then
            MsgBox "2. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
            ActiveCell.Value = ""
            GoTo 10
        Else
            ActiveCell.Value = ilkg&#252;n(ActiveCell.Value) 
        End If
    End If
End If

End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
yok ben imalat ve kontrol sayfalar&#305;n&#305; ayn&#305; sayfada birle&#351;tirmek istiyorum &#246;yle g&#246;recem derseniz; (ben &#246;yle tercih ederdim)

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If Intersect(ActiveCell, [G5:J20]) Is Nothing Then Exit Sub
If Intersect(ActiveCell, [G5:J20,L5:L20]) Is Nothing Then Exit Sub

10
ilkh = ActiveCell.Value
takvim.Show
tarih = ActiveCell.Value


'If ActiveCell.Value = "" Then Exit Sub

If ActiveCell.Column = 7 Or ActiveCell.Column = 8 _
Or ActiveCell.Column = 9 Or ActiveCell.Column = 10 Then
'1 ba&#351;lang&#305;&#231; ve biti&#351; tarihleri denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
    If tarih < Range("b3").Value Then
        MsgBox "Denetim Ba&#351;lang&#305;&#231; tarihinden k&#252;&#231;&#252;k tarih giremezsiniz"
        ActiveCell.Value = ""
        GoTo 10
    ElseIf tarih > Range("b4").Value Then
        MsgBox "Denetim Biti&#351; tarihinden b&#252;y&#252;k tarih giremezsiniz"
        ActiveCell.Value = ""
        GoTo 10
'2 her a&#351;amadaki biti&#351; tarihi ba&#351;lang&#305;&#231; tarihinden en az 7 g&#252;n b&#252;y&#252;k olmal&#305;
    ElseIf ActiveCell.Column = 8 Or ActiveCell.Column = 10 Then
        BsTr = ActiveCell.Offset(0, -1).Value
        Fark = tarih - BsTr
        If Fark < 7 Then
            MsgBox "Biti&#351; tarihi ba&#351;lang&#305;&#231; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
            ActiveCell.Value = ""
            GoTo 10
        End If
'3 2. a&#351;ama ba&#351;lang&#305;&#231; tarihi 1. a&#351;ama biti&#351; tarihinden en az 7 g&#252;n b&#252;y&#252;k olmal&#305;
    ElseIf ActiveCell.Column = 9 Then
        BsTr = ActiveCell.Offset(0, -1).Value
        Fark = tarih - BsTr
            If Fark < 7 Then
                MsgBox "2. A&#351;ama Ba&#351;lang&#305;&#231; tarihi, 1. a&#351;ama biti&#351; tarihinden 7 g&#252;n fazla olmal&#305;d&#305;r"
                ActiveCell.Value = ""
                GoTo 10
            End If
    End If
End If



'4 kontrol tarihi, denetim tarihleri aral&#305;&#287;&#305;nda olmal&#305;d&#305;r
If ActiveCell.Column = 12 Then
Bstr1 = ActiveCell.Offset(0, -5).Value '5 s&#252;tun &#246;nce
Bttr1 = ActiveCell.Offset(0, -4).Value '4 s&#252;tun &#246;nce
Bstr2 = ActiveCell.Offset(0, -3).Value '3 s&#252;tun &#246;nce
Bttr2 = ActiveCell.Offset(0, -2).Value '2 s&#252;tun &#246;nce
    If Bttr1 = "" And Bttr2 = "" Then
        ActiveCell.Value = ""
        GoTo son
    ElseIf Bttr2 = "" Then
        If tarih < Bstr1 Or tarih > Bttr1 Then
            MsgBox "1. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
            ActiveCell.Value = ""
            GoTo 10
        Else
            ActiveCell.Value = ilkg&#252;n(ActiveCell.Value) 'yeniden t&#305;kland&#305;&#287;&#305;nda durmadan hata veriyor
    
        End If
    Else
        If tarih < Bstr2 Or tarih > Bttr2 Then
            MsgBox "2. A&#351;ama i&#231;in yanl&#305;&#351; aral&#305;kta kontrol tarihi girdiniz"
            ActiveCell.Value = ""
            GoTo 10
        Else
            ActiveCell.Value = ilkg&#252;n(ActiveCell.Value) 'yeniden t&#305;kland&#305;&#287;&#305;nda durmadan hata veriyor
        End If
    End If
End If

son:
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn hsayar, ilginize te&#351;ekk&#252;rler. d&#252;zenledi&#287;iniz kodlar&#305; inceleyece&#287;im. son &#246;rnek dosyada oldu&#287;u gibi as&#305;l dosyada bir &#231;ok sayfa mevcut (20-30 aras&#305;nda de&#287;i&#351;ebiliyor), imalat ve kontrol sayfalar&#305;n&#305; ayr&#305; olmak zorunda, sayfalar&#305;n i&#351;levleri farkl&#305;.

takvim i&#231;in userformdaki kodu, plan sayfas&#305; B3 h&#252;cresindeki tarihi ba&#351;lang&#305;&#231; tarihi olarak almak i&#231;in nas&#305;l d&#252;zenlemek gerekir. Calendar1.Value = Range("b3").Value her alternatifi denedi&#287;im halde birt&#252;rl&#252; beceremedim.

Private Sub UserForm_Initialize()
If IsDate(ActiveCell.Value) Then
Calendar1.Value = ActiveCell.Value
Else
Calendar1.Value = Range("b3").Value


not: as&#305;l dosyay&#305; ekleyememem sebebiyle baz&#305; &#351;eyleri ya tam olarak ifade edemiyorum ya da eksik kal&#305;yor.
ger&#231;ekle&#351;en sayfas&#305;ndaki kontrol tarihleri, 1. ve 2. a&#351;ama i&#231;in girilen tarih aral&#305;&#287;&#305;nda olmal&#305;.
End If
End Sub
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Calendar1.Value = Range("b3").Value
yerine
Calendar1.Value = Sheets("Plan").Range("b3").Value

yaz&#305;n.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
haftasonu makineme format atmıştım, dosyalardaki takvim çalışıyor ama takvim denetimi etkin değil, sorun bundan kaynaklanıyor olsa gerek.

Calendar1.Value = Range("b3").Value
yerine
Calendar1.Value = Sheets("Plan").Range("b3").Value
çünkü bütün alternatifleri denedim olmuyor.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
sorun format atmamdan kaynaklan&#305;yormu&#351;, takvim denetimini etkinle&#351;tirince sorun &#231;&#246;z&#252;ld&#252;.
 
Üst