KOŞULA GÖRE ÇALIŞAN MAKRO

Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
KOÞULA GÃ?RE ÇALIÞAN MAKRO

TextBoxlara girdiğim rakamın stoktan düşülmesini istiyorum.Bu işlem için Aşağıdaki kodu kullanıyorum ama biraz daha geliştirmek istiyorum.

İlgili TextBoxlara veri girilip geçilince MsgBox aracılığı ile Bu kayıt stoktan düşülsünmü diye sorulmasını istiyorum. Eğer Evet diyerek geçilirse Aşağıdaki Kod çalışsın eğer hayır diyerek geçilirse birşey olmadan işlem yapılmaya devam edilsin.


Evet diyerek geçilince devreye girmesi gereken Kod:

Kod:
Private Sub CommandButton2_Click()
'Stok Kod Numarasının yazılmaması halinde kayıt işleminin yapılmaması için uyarı
If kod1.Value = "" Then
Soru = MsgBox("Stok Kod No Yazmazsanız Kayıt İşlemi Gerçekleşmez.Devam Edeyimmi?", vbYesNo, "Stok Kod")
kod1.SetFocus
If Soru = vbYes Then GoTo devam
If Soru = vbNo Then Exit Sub
End If
'Stoktan düşülecek Mal Adedini  yazmadıysa
If adet1.Value = "" Then
Soru = MsgBox("Stoktan düşülecek Mal Adedini Yazmazsanız Kayıt İşlemi Gerçekleşmez.Devam Edeyimmi?", vbYesNo, "Mal Adedi")
adet1.SetFocus
If Soru = vbYes Then GoTo devam
If Soru = vbNo Then Exit Sub
End If

devam:
Set s1 = Sheets("stok")
noA = WorksheetFunction.CountA(s1.Range("a:a"))
For i = 1 To noA
 If s1.Cells(i, "b") = Val(kod1) Then
 s1.Cells(i, "e") = s1.Cells(i, "e") + adet1.Value
              
       MsgBox "Kayıt İşlemi Tamamlandı"

Exit Sub
End If
Next i
MsgBox "Aradığınız isimde bir kayıt bulunamadı", vbCritical, "KAYIT"
Sheets("stok").Select
End Sub
NOT: Bu Kod bir Command butona bağlı ama ben bu kodu TextBoxlara bağlayacağım. UserForm İntialize olayına bağlsam olurmu?

Yardımcı olursanız sevinirim
 
Katılım
27 Haziran 2004
Mesajlar
66
HÜCREDEKÝ DEÐER SIFIR OLDUÐUNDA ÇALIÞMA

bir hücredeki değer sıfıra eşit olduğunda makromun çalışmasını istiyorum.Çünkü bazen manual olarak çalıştırdığım makroyu çalıştırmayı unutabiliyorum.Buda bana ek yük getiriyor.yardımcı olursanız çok sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki şekilde deneyiniz. Kodu hücre değerinin bakılacağı sayfanın kod sayfasına yazınız. Koda referans hücreyi ve çalıştırılacak makronun adını yazınız.

[vb:1:32f95ee431]Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = 0 Then Call makroadı
End Sub
[/vb:1:32f95ee431]
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Bunu istediğiniz bir olay yordamının altına yazınız !
[vb:1:2356df8bd9]
Private Sub CommandButton1_Click()
Select Case Range("A1").value
Case 0
Call makro
End Select
End Sub
[/vb:1:2356df8bd9]
 
Katılım
27 Haziran 2004
Mesajlar
66
teşekkürler.Makro çok güzel çalışıyor.Yalnız sayfadaki bir hücreye girip çalıştırdığımda referans hücrem 0 olduğundan tekrar çalışıyor.bunu engelleyebilirmiyim.Yada bu olmasa bile makro çalıştıktan sonra veri girişini engelleyip çalışma kitabını açarken tekrar veri girişine izin verebilirbiyim?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki ile değiştirerek deneyiniz.
[vb:1:007bf04938]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$A$1" And [a1] = 0 Then Call makroadı
End Sub
[/vb:1:007bf04938]
 
Üst