- Katılım
- 18 Ekim 2006
- Mesajlar
- 87
- Excel Vers. ve Dili
- 2000, ENG
Herkese Merhaba,
Arkadaşlar inanılmaz derece de yardımınıza ihtiyacım var.
Ben excel'de userform oluşturarak bir veri giriş programı hazırladım. Program çok güzel çalışıyor. Fakat aynı programı başka bir bilgisayarda açmak istediğimde Can't find project or library hatası veriyor ve Inıtialize bölümünü gösteriyor. ve aşağıdaki kırmızı bölümü işaretliyor.
a = Range("a2:b" & [a65536].End(3).Row)
Userform'umda kullandığım tüm kodlar aşağıdadır aynı zamanda hata veren bölümüde kırmızı olarak iaretledim.
Şimdi ben forum'dan araştırdım.
Benim Referanslarım'da sorun yok. Gayet güzel bir şekilde çalışıyor. Kullanmak istediğim başka bir bilgisayarında Referranslarına baktım EVET MISSING ile başlayan tilki seçenek var ama bu dediğim bilgisayardan kaldıramıyorum. Sürekli şu uyarıyı veriyor. Error in loading DLL. Run-time error "48" aradım taradım hiçbirşey yapamadım. Ne yapabilirim bana yardımcı olursanız sevinirm.
Ayrıca ben Excel 2003 ve Excel 2007 yi aynı anda kullanıyorum. Acaba bundan olabilir mi? Kullanmak istediğim diğer bilgisayarda 2007 yok. Başka başka bilgisayarlar da da denedim. Office 2007 yüklü olanlarda userform'u çok rahat açıyor. Ama 2007 yüklemek gibi bir lüksümde yok. Bu programı Pakistan kullanacak onlarda da 2007 yok.
Yardımınızı çok rica ediyorum. Allah hepnizden razı olsun...
Dim dic As Object
Dim dic1 As Object
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1.Text = "" Then Exit Sub
If dic.Exists(Val(ComboBox1.Text)) Then
ComboBox2.List = dic(Val(ComboBox1.Text))
Else
MsgBox "Barkod Bulunamadı, tekrar deneyin."
Cancel = True
ComboBox1.SetFocus
Exit Sub
End If
dic1.RemoveAll
For Each elem In ComboBox2.List
If Not dic1.Exists(Val(elem)) Then dic1.Add elem, 1
Next
End Sub
Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox2.Text = "" Then Exit Sub
If Not dic1.Exists(Val(ComboBox2.Text)) Then
MsgBox "Item_id bulunamadi, tekrar deneyin."
Cancel = True
ComboBox2.SetFocus
Exit Sub
End If
End Sub
Private Sub ListBox1_Click()
On Error Resume Next
a = ListBox1.ListIndex
End Sub
Private Sub CommandButton81_Click()
If MsgBox("Silmek istediğinizden Emin misiniz? ", vbYesNo) = vbYes Then
Sheets("Sheet2").Select
Rows(ListBox1.ListIndex + 2).Delete
Userform_Initialize
TextBox1.SetFocus
Sheets("Sheet1").Select
End If
End Sub
Private Sub Userform_Initialize()
a = Range("a2:b" & [a65536].End(3).Row)
Set dic = CreateObject("scripting.dictionary")
dic.CompareMode = TextCompare
Set dic1 = CreateObject("scripting.dictionary")
dic1.CompareMode = TextCompare
For i = 1 To UBound(a, 1)
ekle = Val(a(i, 1))
If Not dic.Exists(ekle) Then
ReDim w(0)
w(0) = a(i, 2)
dic.Add ekle, w
Else
w = dic(ekle)
ReDim Preserve w(UBound(w, 1) + 1)
w(UBound(w, 1)) = a(i, 2)
dic(ekle) = w
End If
Next i
If dic.Count > 0 Then ComboBox1.List = dic.Keys
ListBox1.ColumnCount = 6
ListBox1.RowSource = "Sheet2!A2:F65536"
ListBox1.ColumnHeads = False
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ComboBox1.Text = ""
ComboBox2.Text = ""
Set dic = Nothing
Set dic1 = Nothing
End Sub
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
Set s1 = Sheets("Sheet2")
If TextBox1.Text = "" Then
MsgBox "<FORM NO> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
End If
If ComboBox1.Text = "" Then
MsgBox "<SHOP NUMBER> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf ComboBox2.Text = "" Then
MsgBox "<ITEM_ID> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox2.Text = "" Then
MsgBox "<SALES> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox3.Text = "" Then
MsgBox "<PRICE> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox4.Text = "" Then
MsgBox "<STOCK> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
End If
Sheets("Sheet2").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Sheet2.Range("A2").Value = TextBox1.Text
Sheet2.Range("B2").Value = ComboBox1.Text
Sheet2.Range("C2").Value = ComboBox2.Text
Sheet2.Range("D2").Value = TextBox2.Text
Sheet2.Range("E2").Value = TextBox3.Text
Sheet2.Range("F2").Value = TextBox4.Text
Range("A1").Select
Sheets("Sheet1").Select
ComboBox1.Text = ""
ComboBox2.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox1.SetFocus
Call Userform_Initialize
Sheets("Sheet2").Range("G2") = Now
End Sub
Private Sub CommandButton3_Click()
ActiveWorkbook.Save
Module3.Dosya_Kopyala
End Sub
Private Sub CommandButton2_Click()
MsgBox "PROGRAMI LÜTFEN KAYDETMEDEN ÇIKMAYINIZ!!!"
ActiveWorkbook.Save
Unload Me
End Sub
Private Sub CommandButton80_Click()
UserForm2.Show
End Sub
Arkadaşlar inanılmaz derece de yardımınıza ihtiyacım var.
Ben excel'de userform oluşturarak bir veri giriş programı hazırladım. Program çok güzel çalışıyor. Fakat aynı programı başka bir bilgisayarda açmak istediğimde Can't find project or library hatası veriyor ve Inıtialize bölümünü gösteriyor. ve aşağıdaki kırmızı bölümü işaretliyor.
a = Range("a2:b" & [a65536].End(3).Row)
Userform'umda kullandığım tüm kodlar aşağıdadır aynı zamanda hata veren bölümüde kırmızı olarak iaretledim.
Şimdi ben forum'dan araştırdım.
Benim Referanslarım'da sorun yok. Gayet güzel bir şekilde çalışıyor. Kullanmak istediğim başka bir bilgisayarında Referranslarına baktım EVET MISSING ile başlayan tilki seçenek var ama bu dediğim bilgisayardan kaldıramıyorum. Sürekli şu uyarıyı veriyor. Error in loading DLL. Run-time error "48" aradım taradım hiçbirşey yapamadım. Ne yapabilirim bana yardımcı olursanız sevinirm.
Ayrıca ben Excel 2003 ve Excel 2007 yi aynı anda kullanıyorum. Acaba bundan olabilir mi? Kullanmak istediğim diğer bilgisayarda 2007 yok. Başka başka bilgisayarlar da da denedim. Office 2007 yüklü olanlarda userform'u çok rahat açıyor. Ama 2007 yüklemek gibi bir lüksümde yok. Bu programı Pakistan kullanacak onlarda da 2007 yok.
Yardımınızı çok rica ediyorum. Allah hepnizden razı olsun...
Dim dic As Object
Dim dic1 As Object
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1.Text = "" Then Exit Sub
If dic.Exists(Val(ComboBox1.Text)) Then
ComboBox2.List = dic(Val(ComboBox1.Text))
Else
MsgBox "Barkod Bulunamadı, tekrar deneyin."
Cancel = True
ComboBox1.SetFocus
Exit Sub
End If
dic1.RemoveAll
For Each elem In ComboBox2.List
If Not dic1.Exists(Val(elem)) Then dic1.Add elem, 1
Next
End Sub
Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox2.Text = "" Then Exit Sub
If Not dic1.Exists(Val(ComboBox2.Text)) Then
MsgBox "Item_id bulunamadi, tekrar deneyin."
Cancel = True
ComboBox2.SetFocus
Exit Sub
End If
End Sub
Private Sub ListBox1_Click()
On Error Resume Next
a = ListBox1.ListIndex
End Sub
Private Sub CommandButton81_Click()
If MsgBox("Silmek istediğinizden Emin misiniz? ", vbYesNo) = vbYes Then
Sheets("Sheet2").Select
Rows(ListBox1.ListIndex + 2).Delete
Userform_Initialize
TextBox1.SetFocus
Sheets("Sheet1").Select
End If
End Sub
Private Sub Userform_Initialize()
a = Range("a2:b" & [a65536].End(3).Row)
Set dic = CreateObject("scripting.dictionary")
dic.CompareMode = TextCompare
Set dic1 = CreateObject("scripting.dictionary")
dic1.CompareMode = TextCompare
For i = 1 To UBound(a, 1)
ekle = Val(a(i, 1))
If Not dic.Exists(ekle) Then
ReDim w(0)
w(0) = a(i, 2)
dic.Add ekle, w
Else
w = dic(ekle)
ReDim Preserve w(UBound(w, 1) + 1)
w(UBound(w, 1)) = a(i, 2)
dic(ekle) = w
End If
Next i
If dic.Count > 0 Then ComboBox1.List = dic.Keys
ListBox1.ColumnCount = 6
ListBox1.RowSource = "Sheet2!A2:F65536"
ListBox1.ColumnHeads = False
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ComboBox1.Text = ""
ComboBox2.Text = ""
Set dic = Nothing
Set dic1 = Nothing
End Sub
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
Set s1 = Sheets("Sheet2")
If TextBox1.Text = "" Then
MsgBox "<FORM NO> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
End If
If ComboBox1.Text = "" Then
MsgBox "<SHOP NUMBER> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf ComboBox2.Text = "" Then
MsgBox "<ITEM_ID> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox2.Text = "" Then
MsgBox "<SALES> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox3.Text = "" Then
MsgBox "<PRICE> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
ElseIf TextBox4.Text = "" Then
MsgBox "<STOCK> BOŞ..." _
& vbCrLf & "Lütfen kontrol edip tekrar giriniz!!!", vbExclamation, "DİKKAT !"
Exit Sub
End If
Sheets("Sheet2").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Sheet2.Range("A2").Value = TextBox1.Text
Sheet2.Range("B2").Value = ComboBox1.Text
Sheet2.Range("C2").Value = ComboBox2.Text
Sheet2.Range("D2").Value = TextBox2.Text
Sheet2.Range("E2").Value = TextBox3.Text
Sheet2.Range("F2").Value = TextBox4.Text
Range("A1").Select
Sheets("Sheet1").Select
ComboBox1.Text = ""
ComboBox2.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox1.SetFocus
Call Userform_Initialize
Sheets("Sheet2").Range("G2") = Now
End Sub
Private Sub CommandButton3_Click()
ActiveWorkbook.Save
Module3.Dosya_Kopyala
End Sub
Private Sub CommandButton2_Click()
MsgBox "PROGRAMI LÜTFEN KAYDETMEDEN ÇIKMAYINIZ!!!"
ActiveWorkbook.Save
Unload Me
End Sub
Private Sub CommandButton80_Click()
UserForm2.Show
End Sub