Hücrenin Değerini Hücre Yorumuna / Açıklamasına Ekleme

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba,

Herhangi bir textboxdan belli bir hücreye veri girip , hücreye girilen bu veriyi hücrenin yorum açıklama kısmına aldırmak istiyorum. Bunu nasıl yapabilirim? Aşağıdaki kod ile denemeye çalıştım, olmadı

Kriterlerim şunlar. Hücreye ilk defa veri giriliyorsa ( doğal olarak yorum/açıklama kısmı boş ) , resimde göründüğü gibi "Hareketler:" şeklinde bir satır ekledikten ilk veriyi bir alt satıra eklemek. Sonraki her yeni veri girişini de alt alta eklettirmek.

Aşağıdaki kodda hücrenin açıklaması boş ise bunu yap, değilse şunu yap gibi bir kod düzenlemeye çalıştım, ancak hatalı.

Ve ayrıca bir hücrenin yorum/açıklama kısmına eklenecek karakter sınırlaması var mıdır?



Kod:
Sub deneme()
Dim Hucre As Range
Dim Eski As String

Hucre = Sheets("Yorum").Range("A2")
If Not Hucre Is Nothing Then
    Yeni = Hucre.Value
    If Hucre.Comment.Text = "" Then
    Eski = "Hareketler Listesi:" & Chr(10)
    Else
    Eski = Hucre.Comment.Text
    End If
   
    tarih = Range("c1").Value 'burdaki C1 o günün tarihinin yazdigi hücre.
    Hucre.Comment.Text Text:=Eski & tarih & " / " & Yeni & Chr(10)
End If
End Sub
 

Ekli dosyalar

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
374
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Merhaba,

Herhangi bir textboxdan belli bir hücreye veri girip , hücreye girilen bu veriyi hücrenin yorum açıklama kısmına aldırmak istiyorum. Bunu nasıl yapabilirim? Aşağıdaki kod ile denemeye çalıştım, olmadı

Kriterlerim şunlar. Hücreye ilk defa veri giriliyorsa ( doğal olarak yorum/açıklama kısmı boş ) , resimde göründüğü gibi "Hareketler:" şeklinde bir satır ekledikten ilk veriyi bir alt satıra eklemek. Sonraki her yeni veri girişini de alt alta eklettirmek.

Aşağıdaki kodda hücrenin açıklaması boş ise bunu yap, değilse şunu yap gibi bir kod düzenlemeye çalıştım, ancak hatalı.

Ve ayrıca bir hücrenin yorum/açıklama kısmına eklenecek karakter sınırlaması var mıdır?



Kod:
Sub deneme()
Dim Hucre As Range
Dim Eski As String

Hucre = Sheets("Yorum").Range("A2")
If Not Hucre Is Nothing Then
    Yeni = Hucre.Value
    If Hucre.Comment.Text = "" Then
    Eski = "Hareketler Listesi:" & Chr(10)
    Else
    Eski = Hucre.Comment.Text
    End If
  
    tarih = Range("c1").Value 'burdaki C1 o günün tarihinin yazdigi hücre.
    Hucre.Comment.Text Text:=Eski & tarih & " / " & Yeni & Chr(10)
End If
End Sub
deneyiniz. Yorumda karakter sınırı 32 bin kusurmuş.
Kod:
Sub deneme()
    Dim Hucre As Range
    Dim Eski As String
    Dim Yeni As String
    Dim tarih As Variant
    
    Set Hucre = Sheets("Yorum").Range("A2") ' Hucre'yi Set ile nesne olarak tanımlıyoruz.
    
    If Not Hucre Is Nothing Then
        Yeni = Hucre.Value ' Hucre'nin değerini Yeni değişkenine atıyoruz
        
        If Hucre.Comment Is Nothing Then ' Yorum olup olmadığını kontrol ediyoruz
            Eski = "Hareketler Listesi:" & Chr(10)
        Else
            Eski = Hucre.Comment.Text ' Var olan yorumu alıyoruz
        End If
        
        tarih = Sheets("Yorum").Range("C1").Value ' C1 hücresindeki tarih değerini alıyoruz
        
        Hucre.AddComment Text:=Eski & tarih & " / " & Yeni & Chr(10) ' Yorum ekliyoruz
    End If
End Sub
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
deneyiniz. Yorumda karakter sınırı 32 bin kusurmuş.
Kod:
Sub deneme()
    Dim Hucre As Range
    Dim Eski As String
    Dim Yeni As String
    Dim tarih As Variant
   
    Set Hucre = Sheets("Yorum").Range("A2") ' Hucre'yi Set ile nesne olarak tanımlıyoruz.
   
    If Not Hucre Is Nothing Then
        Yeni = Hucre.Value ' Hucre'nin değerini Yeni değişkenine atıyoruz
       
        If Hucre.Comment Is Nothing Then ' Yorum olup olmadığını kontrol ediyoruz
            Eski = "Hareketler Listesi:" & Chr(10)
        Else
            Eski = Hucre.Comment.Text ' Var olan yorumu alıyoruz
        End If
       
        tarih = Sheets("Yorum").Range("C1").Value ' C1 hücresindeki tarih değerini alıyoruz
       
        Hucre.AddComment Text:=Eski & tarih & " / " & Yeni & Chr(10) ' Yorum ekliyoruz
    End If
End Sub


Teşekkürler, Açıklamalar için ayrıca teşekkür.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,382
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Karakter sınır 32,767 karakterdir.

Alternatif.
Kod:
Sub Test()
    With Sheets("Yorum").Range("A2")
        If .Value <> "" Then
            If .Comment Is Nothing Then
                .AddComment "Hareketler Listesi:" & Chr(10)
            End If
            .Comment.Text .Comment.Text & Date & " - " & .Value & Chr(10)
        End If
    End With
End Sub
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
deneyiniz. Yorumda karakter sınırı 32 bin kusurmuş.
Kod:
Sub deneme()
    Dim Hucre As Range
    Dim Eski As String
    Dim Yeni As String
    Dim tarih As Variant
   
    Set Hucre = Sheets("Yorum").Range("A2") ' Hucre'yi Set ile nesne olarak tanımlıyoruz.
   
    If Not Hucre Is Nothing Then
        Yeni = Hucre.Value ' Hucre'nin değerini Yeni değişkenine atıyoruz
       
        If Hucre.Comment Is Nothing Then ' Yorum olup olmadığını kontrol ediyoruz
            Eski = "Hareketler Listesi:" & Chr(10)
        Else
            Eski = Hucre.Comment.Text ' Var olan yorumu alıyoruz
        End If
       
        tarih = Sheets("Yorum").Range("C1").Value ' C1 hücresindeki tarih değerini alıyoruz
       
        Hucre.AddComment Text:=Eski & tarih & " / " & Yeni & Chr(10) ' Yorum ekliyoruz
    End If
End Sub

Bu satırda hata aldım. Yani ilk değeri ekledikten sonra ikincikez ekleme yapmaya çalıştığımda hata veriyor

Kod:
Hucre.AddComment Text:=Eski & Tarih & " - " & Yeni & Chr(10)
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Sayın @Muzaffer Ali teşekkürler, istediğim gibi çalışıyor. Ellerinize sağlık. With ile kullanmak daha pratiklik sağlayacaktır.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Syn @Muzaffer Ali son olarak aşağıdaki satırları yazdığınız koda nasıl yerleştirebilirim.


Kod:
        .Shape.TextFrame.Characters.Font

        .Name = "Calibri"
        .Size = 11
        .Color = vbBlue
        .Bold = True
 

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,321
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Syn @Muzaffer Ali son olarak aşağıdaki satırları yazdığınız koda nasıl yerleştirebilirim.


Kod:
        .Shape.TextFrame.Characters.Font

        .Name = "Calibri"
        .Size = 11
        .Color = vbBlue
        .Bold = True

Sub Test()
With Sheets("Yorum").Range("A2")
If .Value <> "" Then
If .Comment Is Nothing Then
.AddComment "Hareketler Listesi:" & Chr(10)
End If
.Comment.Text .Comment.Text & Date & " - " & .Value & Chr(10)

With .Comment.Shape.TextFrame.Characters.Font
.Name = "Calibri"
.Size = 11
.Color = vbBlue
.Bold = True
End With
End If
End With
End Sub


Bu şekilde bir dener misiniz
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Sub Test()
With Sheets("Yorum").Range("A2")
If .Value <> "" Then
If .Comment Is Nothing Then
.AddComment "Hareketler Listesi:" & Chr(10)
End If
.Comment.Text .Comment.Text & Date & " - " & .Value & Chr(10)

With .Comment.Shape.TextFrame.Characters.Font
.Name = "Calibri"
.Size = 11
.Color = vbBlue
.Bold = True
End With
End If
End With
End Sub


Bu şekilde bir dener misiniz

Teşekkürler Syn @mustafa1205 , çalışıyor. Ellerinize sağlık.
 

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,321
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Teşekkürler Syn @mustafa1205 , çalışıyor. Ellerinize sağlık.

Kolay Gelsin İyi Çalışmalar Sayın Walabi. Muzaffer Hocamın kodlarına ekleme yaptım sadece. Muzaffer Hocamın ellerine sağlık...
 
Son düzenleme:

sertkan42

Altın Üye
Katılım
27 Kasım 2019
Mesajlar
70
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
16-02-2030
Yarımcı olan Üstatların eline sağlık. Sayın @walabi boş bir sayfada kendime uyarlamak istedim ama olmadı dosya paylaşmanız mümkün mü? veya anlatımını yaparsanız sevinirim.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
@sertkan42 Dosya aslında bu, sitede bir üyenin imalat ile ilgili bir dosyasını ayarlamaya çalışırken bu uygulama aklıma gelmişti. Yorum adlı excel sayfası ve Modül3 deki kodlar direk bu konu ile ilgili.
 

Ekli dosyalar

sertkan42

Altın Üye
Katılım
27 Kasım 2019
Mesajlar
70
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
16-02-2030
@walabi Teşekkür ederim. Yorum sayfası A2 hücresine farklı veriler girdiğimde açıklamaya ekleme yapmadı ama sizde çalışıyor muydu ?
 

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
374
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
@walabi Teşekkür ederim. Yorum sayfası A2 hücresine farklı veriler girdiğimde açıklamaya ekleme yapmadı ama sizde çalışıyor muydu ?
module 3 e gidip kodu manuel çalıştırmanız gerekli. kodu çalıştırdığınızda değer hücresindeki veri yoruma eklenir. Kodu butona atamamış daha siz butona atayabilirsiniz.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
@sertkan42 Sizin yapmaya çalıştığınız excel sayfasının değişim olayı ile ilgili. Aşağıdaki kodu yorum sayfasının vba kısmına eklerseniz A2 hücresine her veri girişinde enter dedikten sonra açıklamaya eklemesi gerekiyor. Dosyanın bende çalışan son halini ekledim. Kendi isteğinize göre uyarlamanız gerekir.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call Test2
End Sub
 

Ekli dosyalar

sertkan42

Altın Üye
Katılım
27 Kasım 2019
Mesajlar
70
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
16-02-2030
Cevaplar için teşekkür ederim arkadaşlar elinize emeğinize sağlık.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,382
Excel Vers. ve Dili
2019 Türkçe
@walabi Teşekkür ederim. Yorum sayfası A2 hücresine farklı veriler girdiğimde açıklamaya ekleme yapmadı ama sizde çalışıyor muydu ?
Bu kodu kullanmanız daha doğru olur. Sayın @walabi nin paylaştığı kodu kullanırsanız herhangi bir hücreyi seçtiğinizde çalışır. Bunu istemezsiniz.
Aşağıdaki kodu sayfanın kod kısmına kopyalayın. A2 hücresinde bir değişiklik olduğunda otomatik çalışır.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A2"), Target) Is Nothing Then
                With Range("A2")
        If .Value <> "" Then
            If .Comment Is Nothing Then
                .AddComment "Hareketler Listesi:" & Chr(10)
            End If
                .Comment.Text .Comment.Text & Date & " - " & .Value & Chr(10)
                With .Comment.Shape.TextFrame.Characters.Font
                    .Name = "Calibri"
                    .Size = 11
                    .Color = vbBlue
                    .Bold = True
                End With
            End If
        End With
    End If
End Sub
Ayrıca Açıklamanın içindeki metne göre boyut değiştirmesini isterseniz.
Açıklama içeren hücreyi sağ tıklatın. "Açıklama Gizle/Göster" seçin. Açılamanın çerçevesini sağ tıklatın "Açıklama Biçimlendir" seçin. Açılan pencerede Hizalama tabını açın "Otomatik Boyutlandır" işaretleyin.

Bunu da kod yapsın isterseniz aşağıdaki kodu kullanın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A2"), Target) Is Nothing Then
                With Range("A2")
        If .Value <> "" Then
            If .Comment Is Nothing Then
                .AddComment "Hareketler Listesi:" & Chr(10)
            End If
                .Comment.Text .Comment.Text & Date & " - " & .Value & Chr(10)
                .Comment.Shape.TextFrame.AutoSize = True
                With .Comment.Shape.TextFrame.Characters.Font
                    .Name = "Calibri"
                    .Size = 11
                    .Color = vbBlue
                    .Bold = True
                End With
            End If
        End With
    End If
End Sub
 

sertkan42

Altın Üye
Katılım
27 Kasım 2019
Mesajlar
70
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
16-02-2030
@Muzaffer Ali Hocam bende aynı sorundan bahsedecekken sorunun çözümünü paylaşmışsınız bile. Çok teşekkürler elinize sağlık.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
951
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Tek kelimeyle MUAZZAM.
 
Üst