Arkadaşlar herkese merhaba aşağıda yazmış olduğum for döngümdeki kodlarım verilerim 6 satır iken sorunsuz bir şekilde ve süratli bir şekilde çalışıyordu. Fakat verilerimi 472 satıra çıkarmak zorunda kaldım. Ve kodlarımda yaşadığım ilk problem out of memory hatası almak oldu. Daha sonrasında ise programım çalıştı ancak çok yavaş bir şekilde çalıştı. Yardımcı olabilecek kimse var mıdır? Kodlarım bu şekilde... Ne yapmalıyım?
Private Sub BarkodTextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then BarkodTextBox_Change
End Sub
Private Sub BarkodTextBox_Change()
Dim urunVar As Label
Dim x As Long
Dim i As Long
For x = 2 To 6
' Burayı 6 yerine 472 ile değiştirdiğimde hata alıyorum ve programım yavaşlıyor
For i = 2 To 6
' Burayı 6 yerine 472 ile değiştirdiğimde hata alıyorum ve programım yavaşlıyor
If Worksheets("StokTakip").Range("a" & x) = "" Then Exit Sub
If BarkodTextBox.Value = Worksheets("StokTakip").Range("a" & x).Value Then
Range("c" & x) = Range("c" & x) - 1
Range("d" & x) = Date
urunVar:
TxtUrunAdi.Value = Worksheets("StokTakip").Range("b" & x).Value
TxtKalanStok.Value = Worksheets("StokTakip").Range("c" & x).Value
TxtUrunSKU.Value = Worksheets("StokTakip").Range("j" & x).Value
Exit For
End If
Next i
Next x
End Sub
Private Sub BarkodTextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then BarkodTextBox_Change
End Sub
Private Sub BarkodTextBox_Change()
Dim urunVar As Label
Dim x As Long
Dim i As Long
For x = 2 To 6
' Burayı 6 yerine 472 ile değiştirdiğimde hata alıyorum ve programım yavaşlıyor
For i = 2 To 6
' Burayı 6 yerine 472 ile değiştirdiğimde hata alıyorum ve programım yavaşlıyor
If Worksheets("StokTakip").Range("a" & x) = "" Then Exit Sub
If BarkodTextBox.Value = Worksheets("StokTakip").Range("a" & x).Value Then
Range("c" & x) = Range("c" & x) - 1
Range("d" & x) = Date
urunVar:
TxtUrunAdi.Value = Worksheets("StokTakip").Range("b" & x).Value
TxtKalanStok.Value = Worksheets("StokTakip").Range("c" & x).Value
TxtUrunSKU.Value = Worksheets("StokTakip").Range("j" & x).Value
Exit For
End If
Next i
Next x
End Sub