Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Excel'e Yeni Başlayanlar (http://www.excel.web.tr/forumdisplay.php?f=14)
-   -   makroya msgbox ekleme hk. (http://www.excel.web.tr/showthread.php?t=167950)

EGULERYUZ 07-11-2017 08:49

makroya msgbox ekleme hk.
 
aşagıdaki formüle" silmeyi onaylıyormusun"msgbox eklemek istiyorum bir türlü halledemedim çok örnekle ugrstım fakat formüün neresine eklenecek bulamadım yardım ederseniz sevinirim...



Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B4:B10000")) Is Nothing Then
On Error Resume Next
If Target = "" Then Cells(Target.Row, Target.Column + 1).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 2).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 3).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 4).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 5).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 8).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 9).Value = ""
If Target = "" Then Cells(Target.Row, Target.Column + 10).Value = ""
End If
End Sub

systran 07-11-2017 10:21

bu şekilde deneyiniz.
Kod:

If Not Intersect(Target, Range("B4:B10000")) Is Nothing Then
cevap = MsgBox("Silmeyi onayla!", vbYesNo, "Sil")
  If cevap = 6 Then

    On Error Resume Next
    If Target = "" Then Cells(Target.Row, Target.Column + 1).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 2).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 3).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 4).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 5).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 8).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 9).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 10).Value = ""
  End If
End If


EGULERYUZ 07-11-2017 11:53

Alıntı:

systran tarafından gönderildi (Mesaj 916503)
bu şekilde deneyiniz.
Kod:

If Not Intersect(Target, Range("B4:B10000")) Is Nothing Then
cevap = MsgBox("Silmeyi onayla!", vbYesNo, "Sil")
  If cevap = 6 Then

    On Error Resume Next
    If Target = "" Then Cells(Target.Row, Target.Column + 1).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 2).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 3).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 4).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 5).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 8).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 9).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 10).Value = ""
  End If
End If


malesef çalışmadı sayın systran

çıtır 07-11-2017 12:28

Başında bu komut olmalı,Aşağıdaki olay altına kodları kopyalayınız.
Private Sub Worksheet_Change(ByVal Target As Range)
veya seçim yapılacaksa
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
olabilir.

EGULERYUZ 07-11-2017 12:33

teşekkür ederim yardımlarınız için.....Hakkınızı helal ediniz..

Fakat hayır dediğimizdede silme gerçekleşiyor..
bu konuyu nasıl hallederim...

çıtır 07-11-2017 20:39

Sayın EGULERYUZ aşağıdaki kodunuz, B4:B1000 hücresinde seçtiğiniz hücre boş ise ve evet seçerseniz siliyor.Hayır seçerseniz silme işlemi yapmıyor.
Kod:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B4:B10000")) Is Nothing Then
cevap = MsgBox("Silmeyi onayla!", vbYesNo, "Sil")
  If cevap = 6 Then
    On Error Resume Next
    If Target = "" Then Cells(Target.Row, Target.Column + 1).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 2).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 3).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 4).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 5).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 8).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 9).Value = ""
    If Target = "" Then Cells(Target.Row, Target.Column + 10).Value = ""
  End If
End If
End Sub


EGULERYUZ 08-11-2017 08:57

1 Eklenti(ler)
sayın çıtır,aynı sayfada başka kodlarda olduğundan çalıştıramadım,

Dosyamı ekte sunuyorum "gerçek" sayfasında F5: ile AJ:24 aralığındaki hücreler seçilip sil komutu verildiğinde msgbox çalışmasını ve onaya bağlı işlem gerçekleştirmesini sağlamak istiyorum ,
yardımlarınız için şimdiden teşekkürler...

EGULERYUZ 09-11-2017 14:53

güncel konu ,bi tık lık işi kaldı :):)

Korhan Ayhan 09-11-2017 21:49

Aşağıdaki kodu deneyiniz.

Kod:

Sub TABLOYU_TEMİZLE()
    Onay = MsgBox("Tablo içeriğini temizlemek istiyor musunuz?", vbCritical + vbYesNo + vbDefaultButton2)
    If Onay = vbNo Then Exit Sub
    Range("F5:AJ24").ClearContents
    MsgBox "Tablodaki eski bilgiler temizlenmiştir.", vbInformation
End Sub


EGULERYUZ 11-11-2017 13:19

Korhan bey ,
zaman ayırdığınız için teşekkür ederim,fakat bu kod işimi çöznedi,benim yapmak istediğim f:5 ile aj:24 arasındaki hücreleri silmek istediğimizde(sağ tuş ile veya delete tuşu)uyarı mesajı vermesi.birde aynı sayfada çalışan kod ile beraber nasıl çalıştırırım ?dosya 7 mesajda dır....


Saat 22:58

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.