• DİKKAT

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

vba excelde kilitlenme

Katılım
30 Mayıs 2011
Mesajlar
2
Excel Vers. ve Dili
2007
kargo için desi hesabı yapan bir vba uygulaması yapıyorum kod aşağıdaki gibi ama ilk hesaplamayı yaptıktan sonra excell kilitleniyor nerde hata yapıyorum yardımcı olacak varsa sevinirim

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
e = Range("a6").Value
b = Range("b6").Value
y = Range("c6").Value

ds = e * b * y / 3000
 If ds <> Empty Then
 If ds >= 1 And ds <= 5 Then
    dstop = Range("H5").Value * 1.18
     ElseIf ds >= 6 And ds <= 10 Then
  dstop = Range("H6").Value * 1.18
    ElseIf ds >= 11 And ds <= 15 Then
   dstop = Range("H7").Value * 1.18
   ElseIf ds >= 16 And ds <= 20 Then
   dstop = Range("H8").Value * 1.18
   ElseIf ds >= 21 And ds <= 25 Then
   dstop = Range("H9").Value * 1.18
    ElseIf ds >= 26 And ds <= 30 Then
   dstop = Range("H10").Value * 1.18
   ElseIf ds >= 31 Then
   fiyat = Range("h10").Value
   desi = ds
   netds = ds - 30
   birim = 0.33
   net = netds * birim
   dstop = (net + fiyat) * 1.18
  
    End If
 End If
Range("d6").Value = Round(ds)
Range("e6").Value = dstop
 
kargo için desi hesabı yapan bir vba uygulaması yapıyorum kod aşağıdaki gibi ama ilk hesaplamayı yaptıktan sonra excell kilitleniyor nerde hata yapıyorum yardımcı olacak varsa sevinirim

Merhaba,

Deneme yapmadım. İlaveler kırmızı ile işaretli,

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
On Error Resume Next
[COLOR=red]On Error GoTo Son[/COLOR]
e = Range("a6").Value
b = Range("b6").Value
y = Range("c6").Value
ds = e * b * y / 3000
[COLOR=#ff0000]Application.EnableEvents = False[/COLOR]
 If ds <> Empty Then
 If ds >= 1 And ds <= 5 Then
    dstop = Range("H5").Value * 1.18
     ElseIf ds >= 6 And ds <= 10 Then
  dstop = Range("H6").Value * 1.18
    ElseIf ds >= 11 And ds <= 15 Then
   dstop = Range("H7").Value * 1.18
   ElseIf ds >= 16 And ds <= 20 Then
   dstop = Range("H8").Value * 1.18
   ElseIf ds >= 21 And ds <= 25 Then
   dstop = Range("H9").Value * 1.18
    ElseIf ds >= 26 And ds <= 30 Then
   dstop = Range("H10").Value * 1.18
   ElseIf ds >= 31 Then
   fiyat = Range("h10").Value
   desi = ds
   netds = ds - 30
   birim = 0.33
   net = netds * birim
   dstop = (net + fiyat) * 1.18
 
    End If
 End If
Range("d6").Value = Round(ds)
Range("e6").Value = dstop
 
[COLOR=red]Son:[/COLOR]
[COLOR=red]  Application.EnableEvents = True[/COLOR]
 
End Sub
.
 
tşk ederim ömer sayende sorun çözüldü ancak bu işlemin mantığını da söylersen sevinirim bunu ekleyerek ne yapmış olduk
 
Geri
Üst