• DİKKAT

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

istenilen mesajı almak için koda ilave

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Merhaba arkadaşlar; bu kod ile userform üzerindeki verilerden belge hazırlıyorum. Kod aşağıda;
Private Sub CommandButton12_Click()

If Sheets("ALINDI").Range("B11") > "" Then
MsgBox "ALINDI BELGESİNDE YAZDIRILACAK YER KALMADI." & vbCrLf & "BELGE TEMİZLENSİN Mİ?", vbYesNo, "UYARI"
Exit Sub
'Burada evet deyince ALINDI sayfasının A7:P11 arasındaki veriler silinsin.
End If
Dim a
a = WorksheetFunction.CountA(Sheets("ALINDI").Range("I7:I11"))
Sheets("ALINDI").Range("A" & a + 7).Value = a + 1
Sheets("ALINDI").Range("B" & a + 7).Value = TextBox2.Text
Sheets("ALINDI").Range("I" & a + 7).Value = TextBox3.Text
Sheets("ALINDI").Range("M" & a + 7).Value = TextBox4.Text
Sheets("ALINDI").Range("N" & a + 7).Value = TextBox5.Text
Sheets("ALINDI").Range("O" & a + 7).Value = TextBox6.Text
Sheets("ALINDI").Range("P" & a + 7).Value = TextBox7.Text

Dim Hacı
Hacı = MsgBox("BELGE HAZIR.... YAZDIRILSIN MI?", vbYesNo, "UYARI")
If Hacı = vbNo Then Exit Sub
Sheets("ALINDI").PrintOut From:=1, To:=1

End Sub

İsteğim Şu: Alındı Belgesi ilk hazırlarken B7:B11 arasında veri varsa beni uyarsın yani
DİKKAT; Alındı Belgesinde daha önce veri girdiniz. Bunları temizlemek istiyor musunuz.? EVET - HAYIR
Evet deyince;
şuna benzer bir kod çalışsın
With Sheets("ALINDI").Range("A7:P11")
.Value = ""
End With
Hayır deyince otomatikmen bir alt satıra yacacak, son olarakta
Yukarıda da belirttiğim gibi ALINDI BELGESİNDE YER KALMAYINCA mesajı yukarıdaki gibi alıyorum, ancak burda EVET deyince tekrar
ALINDI Sayfasının A7:P11 aralığı silinsin teşekkürler.
 
Merhaba,

Aşağıdaki şekilde deneyiniz.

Kod:
Private Sub CommandButton12_Click()
    If Sheets("ALINDI").Range("B11") > "" Then
        Dim onay
        onay = MsgBox("ALINDI BELGESİNDE YAZDIRILACAK YER KALMADI." & vbCrLf & "BELGE TEMİZLENSİN Mİ?", vbYesNo, "UYARI")
        If onay = vbYes Then
            Sheets("ALINDI").Range("A7:P11").ClearContents
            Exit Sub
        Else
            GoTo 10
        End If
    Else
10      Dim a
        a = WorksheetFunction.CountA(Sheets("ALINDI").Range("I 7:I11"))
        Sheets("ALINDI").Range("A" & a + 7).Value = a + 1
        Sheets("ALINDI").Range("B" & a + 7).Value = TextBox2.Text
        Sheets("ALINDI").Range("I" & a + 7).Value = TextBox3.Text
        Sheets("ALINDI").Range("M" & a + 7).Value = TextBox4.Text
        Sheets("ALINDI").Range("N" & a + 7).Value = TextBox5.Text
        Sheets("ALINDI").Range("O" & a + 7).Value = TextBox6.Text
        Sheets("ALINDI").Range("P" & a + 7).Value = TextBox7.Text
        
        Dim Hacı
        Hacı = MsgBox("BELGE HAZIR.... YAZDIRILSIN MI?", vbYesNo, "UYARI")
        If Hacı = vbNo Then Exit Sub
        Sheets("ALINDI").PrintOut From:=1, To:=1
    End If
End Sub
 
Korhan Bey eline sağlık, bu kısım tamam sorumun ikinci kısmını unutmuşsunuz. Onada bakarsanız sevinirim. teşekkürler.
Bu koddan önce:
If Sheets("ALINDI").Range("B11") > "" Then
Dim onay
onay = MsgBox("ALINDI BELGESİNDE YAZDIRILACAK YER KALMADI." & vbCrLf & "BELGE TEMİZLENSİN Mİ?", vbYesNo, "UYARI")
If onay = vbYes Then
Sheets("ALINDI").Range("A7:P11").ClearContents
Exit Sub

Alındı Belgesi ilk hazırlarken B7:B11 arasında veri varsa beni uyarsın yani
DİKKAT; Alındı Belgesinde daha önce veri girdiniz. Bunları temizlemek istiyor musunuz.? EVET - HAYIR
EVET deyince tekrar şu kod çalışsın,
If onay = vbYes Then
Sheets("ALINDI").Range("A7:P11").ClearContents
Exit Sub
 
Korhan Bey eline sağlık, bu kısım tamam sorumun ikinci kısmını unutmuşsunuz. Onada bakarsanız sevinirim. teşekkürler.
Bu koddan önce:
If Sheets("ALINDI").Range("B11") > "" Then
Dim onay
onay = MsgBox("ALINDI BELGESİNDE YAZDIRILACAK YER KALMADI." & vbCrLf & "BELGE TEMİZLENSİN Mİ?", vbYesNo, "UYARI")
If onay = vbYes Then
Sheets("ALINDI").Range("A7:P11").ClearContents
Exit Sub

Alındı Belgesi ilk hazırlarken B7:B11 arasında veri varsa beni uyarsın yani
DİKKAT; Alındı Belgesinde daha önce veri girdiniz. Bunları temizlemek istiyor musunuz.? EVET - HAYIR
EVET deyince tekrar şu kod çalışsın,
If onay = vbYes Then
Sheets("ALINDI").Range("A7:P11").ClearContents
Exit Sub



Mesaj sayınız baya çok olmuş acemiliğinizin kalmadığına inanarak şunu söyleyim kodları yazarken menüden # bu işareti seçerek "CODE CODE"
iki code nin arasına "] [" bu işaretlerin içine kodu yapıştırın.


Diğer taraftan kodunuza bu ilaveyi yapın

Kod:
If WorksheetFunction.CountA(Range("B7:B11")) > 0 Then
uyari = MsgBox("Veri var silmek istiyormusunuz. ?", vbYesNo + vbInformation, "Uyarı")
If uyari = vbYes Then
Range("B7:B11").ClearContents
End If
End If
 
Halit bey 2 nolu mesajda Evet deyince temizliyor, ancak anladığım kadarıyla daha sonra Goto 10'u yapması gerekiyor, değil mi? bunu yapmıyor. Buna bakarmısın eline sağlık. Teşekkür ederim anladım gerek kalmadı. Her ikinizede çok teşekkür ederim.
 
Son düzenleme:
Geri
Üst