• DİKKAT

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

iki userform üstüste otomatik açma + multipage seçme

  • Konbuyu başlatan Konbuyu başlatan cems
  • Başlangıç tarihi Başlangıç tarihi

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Değerli arkadaşlar ,

Bir excel programı açılışında ( daha sonradan exceli de gizleyerek ) birinci userformu tam ekran açıyorum ve bunun sürekli olarak altta kalarak sabit görüntü oluşturmasını sağlıyorum.
Problemlerden ilki , ikinci userformu yine otomatik olarak ve tam ekran olmayarak birincisinin önünde açmak ;
Problemlerden ikincisi ise , ikinci userformda bulunan multipage formda "birinci sayfa"yı mutlak ilk seçilmiş olarak getirebilmek;

mümkün mü ?
Eğer değilse bu durumda multipage den vazgeçerek başka bir hal çaresi düşünmem gerekecek.

Örnek dosya ektedir , fikri bilgisi ile yardımcı olacak ustalara şimdiden teşekkürler.
 

Ekli dosyalar

1.Sorunuzun Cevabı olabilir...
UserForm1 e eklenecek Kod :
Kod:
Private Sub UserForm_Layout()
   PauseTime = 2 ' süre
   Start = Timer
   Do While Timer < Start + PauseTime
      DoEvents
   Loop
Call calistir
End Sub
Kod:
Sub calistir()
UserForm2.Show
End Sub
2.Sorunuzun Cevabı :
Multipage formda "birinci sayfa"yı mutlak ilk seçilmiş olarak getirebilmek için tasarım modunda iken birinci sayfa seçili olarak çıkış yapılmalıdır.
 
Sayın ozgretmen;
Verdiğiniz kodları hemen deniyorum , sonucu burada aktaracağım
Çok teşekkür ederim
 
Sayın ozgretmen ;
Bir iki (bana bağlı) hatadan sonra , kodlarınız sorunsuz olarak ulaşmak istediğimi oluşturdu, ikinci form birinciyi bekleyerek mutlak üstte açıldı.
Multipage seçiminde de tasarımda nerde kapandı ise programda oradan açtığı da doğru , tasarımda multipage1 ile kapattıktan sonra üste gelen form sürekli ve mutlak 1ci sayfasını seçti.
Desteğinize müteşekkirim , çok sağolun.
 
Yardımcı olabildiysek ne mutlu bana...İyi çalışmalar...
 
Userform Textbox boş geçmesin

sayın öz öğretmen benimde yardımınıza ihtiyacım var. 18 adet textbox var ve hiç birisi boş geçilmeden kaydetmesin. (Kutucuğun içine mause ile tıklandığında sayısal değer girme zorunluluğunu yaptım. benim kodlar aşağıda belirtilmiştir. Şimdiden ilgininiz için teşekkür ederim.)

Private Sub CommandButton1_Click()
Range("A3").Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

If Range("A3").Value = "" Then
Range("A3").Value = 1
Range("A3").Select
Else
ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1
End If

ActiveCell.Offset(0, 1).Value = TextBox1.Text
ActiveCell.Offset(0, 2).Value = TextBox2.Text
ActiveCell.Offset(0, 3).Value = TextBox3.Text
ActiveCell.Offset(0, 4).Value = TextBox4.Text
ActiveCell.Offset(0, 5).Value = TextBox5.Text
ActiveCell.Offset(0, 6).Value = TextBox6.Text
ActiveCell.Offset(0, 7).Value = TextBox7.Text
ActiveCell.Offset(0, 8).Value = TextBox8.Text
ActiveCell.Offset(0, 9).Value = TextBox9.Text
ActiveCell.Offset(0, 10).Value = TextBox10.Text
ActiveCell.Offset(0, 11).Value = TextBox11.Text
ActiveCell.Offset(0, 12).Value = TextBox12.Text
ActiveCell.Offset(0, 13).Value = TextBox13.Text
ActiveCell.Offset(0, 14).Value = TextBox14.Text
ActiveCell.Offset(0, 15).Value = TextBox15.Text
ActiveCell.Offset(0, 16).Value = TextBox16.Text
ActiveCell.Offset(0, 17).Value = TextBox17.Text
ActiveCell.Offset(0, 18).Value = TextBox18.Text


MsgBox ("Kayıt Tamamlandı")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
TextBox15.Text = ""
TextBox16.Text = ""
TextBox17.Text = ""
TextBox18.Text = ""

End Sub


aşağısıda herhangi bir textboxun içine eklediğim kodudur.



Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Girilen değer numerik değilse Textboxten çıkışı engelliyor, bu durumda boşta olamıyor.
If IsNumeric(TextBox10.Value) Then
Cancel = False
Else
Cancel = True
Beep ' 'beep' sesi üretiyor
MsgBox ("Sadece sayı girin!") ' Uyarı penceresi açıyor.
End If
End Sub
 
Kayıt kodu olan CommmandButton1_Click olayının içine en başa aşağıdaki kodu ilave ederseniz metin kutularından birisi boş olduğunda kayıt işlemi başlamaz.
Kod:
Private Sub CommandButton1_Click()
[COLOR="Red"]For a = 1 To 18
    If Controls("TextBox" & a).Value = "" Then
        MsgBox "Boş geçemezsiniz.", vbCritical
        Controls("TextBox" & a).SetFocus
        Exit Sub
    End If
Next[/COLOR]
Range("A3").Select

Bir de ilave olarak Textboxtan kayıt ile alakalı kodunuzu şu şekilde kısaltabilirsiniz:
Kod:
For a = 1 To 18
     ActiveCell.Offset(0, a).Value = Controls("TextBox" & a).Text
     Controls("TextBox" & a).Text = ""
Next
MsgBox "Kayıt tamamlandı"
İyi çalışmalar...
 
Herkese merhaba, konuyu hortlatmak gibi olacak ama yardıma ihtiyacım var. Sayın ozgretmen verdiğiniz kodlar benimde çok işime yaradı yalnız, üstteki userform2 kapatıp alttaki userform1 ekrandaki yerini değiştirdiğimde userform2 ekrana tekrar geliyor bunu nasıl engelleriz. Şimdiden teşekürler.
 
Geri
Üst