DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Public EskiDeger As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Then Exit Sub
On Error GoTo Ilk_Defa_Aciklama_Eklenecek
Dim Txt As String
If Not Target.Comment.Text = "" Then
With Target
Txt = .Comment.Text
.Comment.Text Text:= _
Txt & Chr(10) & _
Application.UserName & " " & Now & " Eski Değer : " & EskiDeger
End With
End If
Exit Sub
Ilk_Defa_Aciklama_Eklenecek:
If Err.Number = 91 Then
With Target
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Application.UserName & " " & Now & " İlk Açıklama"
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Then Exit Sub
EskiDeger = Target.Value
End Sub
Merhaba,
Necdet bey elinize sağlık. Küçük bir ekleme daha yaparsanız daha kullanışlı olacaktır.
Eklenen açıklamalar arttıkça açılan listede görünmüyor. Açıklama eklendikçe açıklama kutucuğunun boyutu otomatik genişlerse daha işlevsel olacaktır.
Public EskiDeger As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Then Exit Sub
On Error GoTo Ilk_Defa_Aciklama_Eklenecek
Dim Txt As String
If Not Target.Comment.Text = "" Then
With Target
Txt = .Comment.Text
With .Comment
.Visible = False
.Text Text:= _
Txt & Chr(10) & _
Application.UserName & " " & Now & " Eski Değer : " & EskiDeger
With .Shape
With .TextFrame
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.ReadingOrder = xlContext
.Orientation = msoTextOrientationHorizontal
.AutoSize = True
End With
End With
End With
End With
End If
Exit Sub
Ilk_Defa_Aciklama_Eklenecek:
If Err.Number = 91 Then
With Target
.AddComment
With .Comment
.Visible = False
.Text Text:= _
Txt & Chr(10) & _
Application.UserName & " " & Now & " İlk Açıklama"
With .Shape
With .TextFrame
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.ReadingOrder = xlContext
.Orientation = msoTextOrientationHorizontal
.AutoSize = True
End With
End With
End With
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Then Exit Sub
EskiDeger = Target.Value
End Sub
Çok teşekkür ederim sayın üstadlarım. Sizlerin bu vizyon genişliğiniz bizlere de feyz oluyor. Bu koda şöyle bir özellik eklenebilir mi acaba ?
İlk değişkilik Comment Text boş ise olsun;
Comment Text dolu ise değişikliğe izin vermesin gibi ...
Public EskiDeger As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or _
Target.Row < 2 Or _
EskiDeger = "" Or _
Selection.Count > 1 Then Exit Sub
On Error GoTo Ilk_Defa_Aciklama_Eklenecek
Dim Txt As String
If Not Target.Comment.Text = "" Then
Application.EnableEvents = False
Target.Value = EskiDeger
If IsNumeric(Target.Value) = True Then Target.Value = Target.Value * 1
Application.EnableEvents = True
Exit Sub
End If
Ilk_Defa_Aciklama_Eklenecek:
If Err.Number = 91 Then
With Target
.AddComment
With .Comment
.Visible = False
.Text Text:= _
Txt & Chr(10) & _
Application.UserName & " " & Now & " Önceki Değer : " & EskiDeger
With .Shape
With .TextFrame
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.ReadingOrder = xlContext
.Orientation = msoTextOrientationHorizontal
.AutoSize = True
End With
End With
End With
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Or Selection.Count > 1 Then Exit Sub
EskiDeger = Target.Value
End Sub
Sonuç mükemmel sayın Necdet Yeşertener. Elinize, emeğinize sağlık.
Sayın Necdet Yeşertener, konu geliştikçe insanın aklına yeni fikirler geliyor. Bu koda mesaj eklemöey çalıştım, ancak Comment olan olmayan her yerde mesaj verdiği için başarılı olamadım. Acaba sadece Comment Text'i dolu olan hücrelerde değiştirme girişimde belirecek mesajı nasıl bu koda monte edebilirim ?
Öncelikle mükemmel bir çalışma olmuş..
belirtmek istediğim iki husus var
1- Kodun geçerli olduğu A B sütunları arasında çoklu seçim (taralı alan) seçince hata veriyor.
2- Uygulanacak sütunları aralık şeklinde değilde örnek olarak B , E ve K sütunlarını nasıl seçeriz. Tabi bu sütunlarda da çoklu seçim hatası vermemesi lazım.
olur mu bilmem ama emeği geçen herkese defalarca teşekkür ediyorum.