ahmed_ummu
Altın Üye
- Katılım
- 28 Mart 2011
- Mesajlar
- 763
- Excel Vers. ve Dili
- Excel 2010 Professional Plus 64 Bit
- Altın Üyelik Bitiş Tarihi
- 15-10-2026
Merhaba arkadaşlar.
Userform1 den Commandbutton ile başka userformları açıyorum. Yalnız Userform2 baze açılıyor bazen açılmıyor. (Sıklıkla açılmıyor) Userformu açma kodum aşağıdadır.
UserForm1.Hide
UserForm2.Show
Diğer formlarda bir sıkıntı olmuyor ama Form2 sıklıkla açılmıyor. Neden olabilir yardımcı olabilir misiniz.
Userform2 nin initiallize yordamındaki kodları da aşağıda Belki ondan olabilir diye.
Private Sub UserForm_Initialize()
Dim sh As Worksheet
For Each sh In Worksheets
sh.Unprotect "1"
Next
UserForm2.Caption = UserForm2.Caption & " " & " (" & Sheets("parametreler").Range("c1").Value & ")"
'Sheets("ücretli_veri").Select
'Sheets("ücretli_veri").Select
ListBox2.RowSource = "ücretli_veri!A2:A" & Range("A10000").End(xlUp).Row
'Sheets("stajyer_veri").Select
ListBox7.RowSource = "stajyer_veri!A2:A" & Range("A10000").End(xlUp).Row
ListBox1.AddItem "Ocak"
ListBox1.AddItem "Şubat"
ListBox1.AddItem "Mart"
ListBox1.AddItem "Nisan"
ListBox1.AddItem "Mayıs"
ListBox1.AddItem "Haziran"
ListBox1.AddItem "Temmuz"
ListBox1.AddItem "Ağustos"
ListBox1.AddItem "Eylül"
ListBox1.AddItem "Ekim"
ListBox1.AddItem "Kasım"
ListBox1.AddItem "Aralık"
Set üp = Sheets("ÜP_1-31")
For i = 3 To 33
If üp.Cells(6, i + 1).Value = "x" Then
Controls("label" & i).BackColor = vbRed
Else
'Controls("label" & i).BackColor = &HC0C0C0
End If
Next
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("parametreler")
Dim t As Integer
' W1 hücresinden başlayarak 31 sağa doğru hücreleri kontrol eder
For t = 1 To 31
' Eğer hücrede "x" varsa ilgili label'in rengini kırmızı yap
If ws.Range("W1").Offset(0, t - 1).Value = "x" Then
Controls("Label" & t + 2).BackColor = vbRed
Controls("textbox" & t + 1).BackColor = vbRed
Controls("textbox" & t + 1).Enabled = False
Else
Controls("Label" & t + 2).BackColor = &HC0C0C0 ' Beyaz renk
Controls("textbox" & t + 1).BackColor = &HC0FFFF
Controls("textbox" & t + 1).Enabled = True
End If
Next t
If Sheets("parametreler").Range("c1").Value = "Nisan" Or Sheets("parametreler").Range("c1").Value = "Haziran" Or Sheets("parametreler").Range("c1").Value = "Eylül" Or Sheets("parametreler").Range("c1").Value = "Kasım" Then
Label33.BackColor = vbRed
TextBox32.BackColor = vbRed
TextBox32.Enabled = False
End If
'MultiPage1.Value = 0
' ÜP_1-31 sayfasından ListBox5'e veri alımı
Sheets("ÜP_1-31").Select
With UserForm2.ListBox5
.ColumnCount = 36
.ColumnWidths = "105;50;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;35;40;30"
.RowSource = "B13:AK" & WorksheetFunction.Max(13, Cells(Rows.Count, "B").End(xlUp).Row)
End With
' SÖP sayfasından ListBox9'a veri alımı
Sheets("söp").Select
With UserForm2.ListBox9
.ColumnCount = 36
.ColumnWidths = "135;98;0;0;0;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
.RowSource = "B11:AK" & WorksheetFunction.Max(11, Cells(Rows.Count, "B").End(xlUp).Row)
End With
Userform1 den Commandbutton ile başka userformları açıyorum. Yalnız Userform2 baze açılıyor bazen açılmıyor. (Sıklıkla açılmıyor) Userformu açma kodum aşağıdadır.
UserForm1.Hide
UserForm2.Show
Diğer formlarda bir sıkıntı olmuyor ama Form2 sıklıkla açılmıyor. Neden olabilir yardımcı olabilir misiniz.
Userform2 nin initiallize yordamındaki kodları da aşağıda Belki ondan olabilir diye.
Private Sub UserForm_Initialize()
Dim sh As Worksheet
For Each sh In Worksheets
sh.Unprotect "1"
Next
UserForm2.Caption = UserForm2.Caption & " " & " (" & Sheets("parametreler").Range("c1").Value & ")"
'Sheets("ücretli_veri").Select
'Sheets("ücretli_veri").Select
ListBox2.RowSource = "ücretli_veri!A2:A" & Range("A10000").End(xlUp).Row
'Sheets("stajyer_veri").Select
ListBox7.RowSource = "stajyer_veri!A2:A" & Range("A10000").End(xlUp).Row
ListBox1.AddItem "Ocak"
ListBox1.AddItem "Şubat"
ListBox1.AddItem "Mart"
ListBox1.AddItem "Nisan"
ListBox1.AddItem "Mayıs"
ListBox1.AddItem "Haziran"
ListBox1.AddItem "Temmuz"
ListBox1.AddItem "Ağustos"
ListBox1.AddItem "Eylül"
ListBox1.AddItem "Ekim"
ListBox1.AddItem "Kasım"
ListBox1.AddItem "Aralık"
Set üp = Sheets("ÜP_1-31")
For i = 3 To 33
If üp.Cells(6, i + 1).Value = "x" Then
Controls("label" & i).BackColor = vbRed
Else
'Controls("label" & i).BackColor = &HC0C0C0
End If
Next
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("parametreler")
Dim t As Integer
' W1 hücresinden başlayarak 31 sağa doğru hücreleri kontrol eder
For t = 1 To 31
' Eğer hücrede "x" varsa ilgili label'in rengini kırmızı yap
If ws.Range("W1").Offset(0, t - 1).Value = "x" Then
Controls("Label" & t + 2).BackColor = vbRed
Controls("textbox" & t + 1).BackColor = vbRed
Controls("textbox" & t + 1).Enabled = False
Else
Controls("Label" & t + 2).BackColor = &HC0C0C0 ' Beyaz renk
Controls("textbox" & t + 1).BackColor = &HC0FFFF
Controls("textbox" & t + 1).Enabled = True
End If
Next t
If Sheets("parametreler").Range("c1").Value = "Nisan" Or Sheets("parametreler").Range("c1").Value = "Haziran" Or Sheets("parametreler").Range("c1").Value = "Eylül" Or Sheets("parametreler").Range("c1").Value = "Kasım" Then
Label33.BackColor = vbRed
TextBox32.BackColor = vbRed
TextBox32.Enabled = False
End If
'MultiPage1.Value = 0
' ÜP_1-31 sayfasından ListBox5'e veri alımı
Sheets("ÜP_1-31").Select
With UserForm2.ListBox5
.ColumnCount = 36
.ColumnWidths = "105;50;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;35;40;30"
.RowSource = "B13:AK" & WorksheetFunction.Max(13, Cells(Rows.Count, "B").End(xlUp).Row)
End With
' SÖP sayfasından ListBox9'a veri alımı
Sheets("söp").Select
With UserForm2.ListBox9
.ColumnCount = 36
.ColumnWidths = "135;98;0;0;0;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
.RowSource = "B11:AK" & WorksheetFunction.Max(11, Cells(Rows.Count, "B").End(xlUp).Row)
End With