• DİKKAT

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

Mesaj Kutusu içeriğini değişkene atama

  • Konbuyu başlatan Konbuyu başlatan kykbt
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Nisan 2006
Mesajlar
303
Excel Vers. ve Dili
Office 2003
Office 2007
Arkadaşlar Merhaba

mesaj_içeriği = MsgBox
MsgBox "" & macrosay & "-- Sub diğer_kitapları_kapat() --------- başlıyor..", vbInformation
...
....
MsgBox "" & macrosay & "-- Sub Auto_Open() --------- başlıyor..", vbInformation

gibi sırayla çıkan mesajlar var ben bu mesajları bir değişkene atamak istiyorum. Yani mesaj içeriğini bir hücreye yazdırmak için,
nasıl hafızaya alabilirim?
 
Son düzenleme:
Arkadaşlar Merhaba
Bu konuda yorumu olan varmı ? Yardımlarınıza ihtiyaç var..
 
Merhaba.

MsgBox görüntülenmeyip, sadece hücreye yazılacaksa sadece ikinci satırı kullanın.
MsgBox "" & macrosay & "-- Sub diğer_kitapları_kapat() --------- başlıyor..", vbInformation
[A1]= "" & macrosay & "-- Sub diğer_kitapları_kapat() --------- başlıyor..", vbInformation
 
Merhaba Hocam
Şu an hücreye yazdıracağım. Sonra bir user form da listelemek istiyorum.
Yapmak istediğim, her makronun içine bu kodu koyup hangi makronun hangi sırayla çalıştığını listelemek.
Bunun içöin kodu aşağıdaki
Kod:
MsgBox "" & macrosay & "-- Sub diğer_kitapları_kapat() --------- başlıyor..", vbInformation
If Msg = 0 Then ActiveSheet.Range("h" & son).Value = "" & macrosay & "-- Private Sub Workbook_Activate --------- çalıştı.."
gibi yazmak yerine
Kod:
Dim MsgBox
If Msg = 0 Then ActiveSheet.Range("h" & son).Value = MsgBox
haline getirmek. böylece kodu her makroda kolayca kullanmak.
Hatta burada çalışan makronun adını bir kod ile alabilir isek muhteşem olur. O zaman
Kod:
MsgBox "" & macrosay & "-- Sub diğer_kitapları_kapat() --------- başlıyor..", vbInformation
yerine
Kod:
MsgBox "" & macrosay & "-- " & macroadı & " --------- başlıyor..", vbInformation
şeklinde olur ki, bu daha güzel olur. Aşağıdaki kod gibi
Kod:
Private Sub Workbook_Open()
Dim MsgBox
durum = "açılış"
macroadı = ....macroadınıal (kodu varsa9..
username = Environ("UserName")
macrosay = macrosay + 1
Msg = MsgBox("      Sayın    " & Environ("UserName") & "                        " & vbLf _
            & "" & macrosay & "--Private Sub Workbook_Open --Makrosu başlıyor.. " & vbLf _
            & "      Mesaj Uyarıları Görünsün İsterseniz Evet,e Basınız.        " & vbLf _
            & "_____________________________________            " & admin & " ", vbYesNo, _
                                                " MESAJ KUTUSU BAŞLIĞI YAZ ")
        If Msg = vbYes Then Msg = 0    'veya doğrudan GoTo son yerine End yazınız
        If Msg = vbNo Then Msg = 1
MsgBox "" & macrosay & "-- " & macroadı & " --------- başlıyor..", vbInformation
If Msg = 0 Then ActiveSheet.Range("h" & son).Value = MsgBox
End Sub
 
Son düzenleme:
Bildiğim kadarıyla böyle bir olay yok, ama aşağıdaki mantıkla kod yazarsanız kısa bir hale getirip her makroda kullanabilirsiniz.
Rich (BB code):
Public makrosay As Integer
Private Sub mesaj(makroadi As String)
makrosay = makrosay + 1
MsgBox "      Sayın    " & Environ("UserName") & "                        " & vbLf _
            & "" & makrosay & "-- " & makroadi & " makrosu çalışıyor."
End Sub
Sub Deneme_Kodu()
mesaj ("Deneme_Kodu")
End Sub
 
Hocam teşekkürler iyi bir çözüm oldu..
 
Geri
Üst