Arkadaşlar bir stok programından ürün bilgilerini excelle alıp, bu excell sayfasını eticaret sitemize uygun sablona aktarmak istiyoruz. Bunun için vba da iki dosya arasında sadece kopru gorevi gorecek bir çalışmamız var.
Bu çalışmamıza ait aşağıdaki kodda iki işlem sorunsuz yapılıyor. Ancak kod 3. kez işleme girdiğinde ya turuncu renkli kısımda ya da kırmızı renkli kısımda "object variable or with variable not set" hatası alıyorum. Vba da çok iyi değilim ancak üç gündür araştırmama rağmen sorunumu çözemedim. Yardımcı olursanız çok mutlu olurum. Şimdiden teşekkürler.
Bu çalışmamıza ait aşağıdaki kodda iki işlem sorunsuz yapılıyor. Ancak kod 3. kez işleme girdiğinde ya turuncu renkli kısımda ya da kırmızı renkli kısımda "object variable or with variable not set" hatası alıyorum. Vba da çok iyi değilim ancak üç gündür araştırmama rağmen sorunumu çözemedim. Yardımcı olursanız çok mutlu olurum. Şimdiden teşekkürler.
Kod:
Private Sub CommandButton1_Click()
syf = Giris.txsayfaadi.Value
Sheets(syf).Activate
Range("b5").Select
bul = lbkategori.Caption
NoA = Worksheets(syf).Cells.SpecialCells(xlCellTypeLastCell).Row
Noac = Worksheets("categories").Cells.SpecialCells(xlCellTypeLastCell).Row
1 On Error GoTo 2
lbkategori.Caption = ActiveCell.Value
Sheets("categories").Activate
With Sheets("categories")
[COLOR="DarkOrange"]Sheets("Categories").Range("c1:c" & Noac).Find(lbkategori.Caption).Select[/COLOR]
[COLOR="Red"]ActiveCell.Offset(0, -2).Select[/COLOR]
lbno.Caption = ActiveCell.Value
End With
2 On Error GoTo 3
MsgBox "Kategori bulunamadı. Yeni oluşturuluyor..."
Range("a2").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
On Error GoTo 3
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 2).Value = lbkategori.Caption
Sheets(syf).Activate
ActiveCell.Offset(1, 0).Select
5
If ActiveCell.Value = lbkategori.Caption Then
ActiveCell.Offset(1, 0).Select
Else
GoTo 1
End If
GoTo 5
3 On Error GoTo 4
ActiveCell.Value = 1
ActiveCell.Offset(0, 2).Value = lbkategori.Caption
Sheets(syf).Activate
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = lbkategori.Caption Then
ActiveCell.Offset(1, 0).Select
Else
GoTo 1
End If
GoTo 5
4 MsgBox " İşlem tamamlandı..."
End Sub
