Bir ya da birden fazla açıklama satırını ilgili satıra veya sütuna dağıtmak isterseniz Range(“A1:E5”).NoteText tarzı bir mantıkla hareket etmek beni yarı yolda bıraktı. Ben de alternatif arayışına girdim ve Offset ile yapılmış bir çözüm buldum.
Sub DonguIleHucrelereYorumSatiriEkle()
Dim alan As Range
Dim i As Long
Dim aciklamalar As Variant
aciklamalar = Array("Açıklama1", "Açıklama2", "Açıklama3", _
"Açıklama4", "Açıklama5", "Açıklama6", _
"Açıklama7", "Açıklama8", "Açıklama9", _
"Açıklama10")
Set alan = Range("A1")
For i = 1 To 10
alan.Offset(i - 1, 0).NoteText aciklamalar(i - 1)
Next i
End Sub
Sub DonguIleHucrelereYorumSatiriEkle()
'--------------------------------------------------
'Hareket noktası olarak kullanacağımız
'alanı atayacağımız değişken.
'--------------------------------------------------
Dim alan As Range
'--------------------------------------------------
'Döngü ile yorum satırı eklemek
'için kullanılacak sayaç değişkeni.
'--------------------------------------------------
Dim i As Long
'--------------------------------------------------
'Farklı açıklamalarımızın ekleyeceğimiz
'sıraya göre bulunduğu dizi değişkeni.
'--------------------------------------------------
Dim aciklamalar As Variant
'--------------------------------------------------
'Açıklamaları dizi olarak sırayla tanımladık.
'--------------------------------------------------
aciklamalar = Array("Açıklama1", "Açıklama2", "Açıklama3", _
"Açıklama4", "Açıklama5", "Açıklama6", _
"Açıklama7", "Açıklama8", "Açıklama9", _
"Açıklama10")
'--------------------------------------------------
'Yorum satırı dinamik olarak alan seçme
'işleminde sıkıntı çıkardığından dolayı
'Offset ile ilerleyeceğiz, yani alan seçip
'o alana göre sağdaki, soldaki, üstteki,
'alttaki diğer alanlara referans vereceğiz.
'Bu yüzden hareket için kullanılacak alanı tanımladık.
'--------------------------------------------------
Set alan = Range("A1")
'--------------------------------------------------
'Döngü ile açıklamaları ekletiyoruz.
'Dikkat ederseniz hareket için
'kullandığımız alanı da döngüye dahil ettik.
'--------------------------------------------------
For i = 1 To 10
alan.Offset(i - 1, 0).NoteText aciklamalar(i - 1)
Next i
End Sub