Hucreye Kritere Gore Yorum Ekleme

[quote author=”- Soykan”]Merhabalar,

Feedback ile ilgili bir uygulama yapmak istiyorum. Ama bir konuya takıldım.
Aşağıdaki şekilde makromu oluşturdum.

Personal Sub Worksheet_Change(ByVal Goal As Vary)
If Cells(Goal.Row, 14) > Cells(Goal.Row, 6) Then

ActiveCell.AddComment (“Lütfen oranı düşürünüz”)

Finish If

Finish Sub

işlemi yaptığım satırda bir remark açmasını ve oran büyükse bunu yazmasını istiyorum.
Yukarıdaki makroyu çalıştırdığımda remark oluşuyor ama oranı yazdıktan sonra enter’e basıp bir alt satıra geçtiğim için remark orada oluşuyor. Halbuki benim istediğim oranı yazdığım yerde bunu yapması.
ActiveCell[-1] şeklinde yazdım olmadı. Nasıl yapabilirim.

Teşekkürler.[/quote]

Merhaba Soykan Bey,

Hucreyi herhangi bir yone kaydirmak istersek offset fonksiyonunu hem vba hem excel yerlesik fonksiyolarinda kullanabilirsiniz. Calismaniz asagidaki sekilde sanirim sitediginiz gibi olmakta.

Non-public Sub Worksheet_Change(ByVal Goal As Vary)
If Cells(Goal.Row, four) > Cells(Goal.Row, 5) Then
ActiveCell.Offset(-1, zero).AddComment ("Lütfen orani düsürünüz")
Finish If
Finish Sub

Yazar: demo demo

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

“Hucreye Kritere Gore Yorum Ekleme” için 4 yorum

  1. Mustafa Bey,

    Tekrar merhaba,

    Bu seferde comment ile ilgili başka bir şey sormak istiyorum.

    Commentin içinde matemetiksel bir işlem sonucunu yazdırabilirmiyim.

    Teşekkürler.

    1. Merhaba Soykan Bey,

      Mumkundur tabiiki, sorunuz konu acilmaya deger bir baslik tasiyabilir kanisindayim, Form’dan gonderirseniz memnun olurum, iyi calismalar.

      Ama suanki sorunuzdaki kodunuzda bu sekilde bisey yapmak isteseydiniz ve comment’e 100 yazacak olsaydiniz, asagidaki sekilde yapabilirdiniz.

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim yrm As Comment
      mtnFormat = “#,##0.00”
      If Cells(Target.Row, 14) > Cells(Target.Row, 6) Then
      Set yrm = ActiveCell.Comment
      If yrm Is Nothing Then
      Set yrm = ActiveCell.Offset(-1, 0).AddComment
      yrm.Text Text:=Format(100, mtnFormat)
      End If
      Else
      ActiveCell.Offset(-1, 0).ClearComments
      End If
      End Sub

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


6 + 6 =