Yani biz DOLAYLI ile a1 hücresinin işaret ettiği hücreye başvuruyoruz. C1 deki formulü değiştirmeden A1 in içeriğini değiştirerek C1 in değerini değiştirebiliyoruz. Umarım buraya kadar tamamdır.
Ben bu özelliği VB ile kullanmak istiyorum. deg2="deg"&trim(str(1)) formulündeki 1 for-next döngüsü içinde olacak ve aslında sabit değil mesela i değişkeni olacak.
Biraz daha açıklayıcı olmuştur inşALLAH. Yani kendi iyiliğim için.
En iyi çözüm sn veyselemre'nin gösterdiği çözümdür. Yani deg2="deg" & 1 dediğinizde deg2=deg1 demek değildir. Burada "deg" & 1 bir metin değeri olarak algılanacaktır. Bu sebeple en iyi yol dim kullanarak değişkeni boyutlandırmaktır. Bu durumda örneğin; aşağıdaki gibi yazarsanız sonuç elde edersiniz.
dim deg(2)
deg(1)="www.excel.web.tr"
a=1
deg(2)=deg(a)
Ne çok vaktinizi aldım. Ama son bir deneme daha yapacağım. Kendi dosyamdan sorun oluşan kısmı ayıklayım dedim ama onu anlatmak bundan da uzun sürecekti şöyle bir maketini yapiim dedim.
Sub dene()
dg1 = "Helal sana"
dg2 = "Yuf sana"
bunuanlatmayibasardimmi = True
For j = 1 To 2
If bunuanlatmayibasardimmi Then i = 1
'Burada daha karışık işler yapılıyor aslında. Böyle tek bir satır değil.
Else: i = 2
End If
dg = "dg" & Trim(Str(i))
MsgBox ("Amma uğraştırdın " & dg)
bunuanlatmayibasardimmi = False
Next
End Sub
Burada eğer i=1 ise "Amma uğraştırdın Helal sana " yazsın istiyorum ama o ne yazıyor "Amma uğraştırdın dg1" yazıyor. Ben dg1 miyim androit ismi gibi.
Bu da işe yaramazsa sormaktan vazgeçiyorum. İlginize teşekkürler.
[vb:1:0053b6f50e]Sub dene()
dim dg(2)
dg(1) = "Helal sana"
dg(2) = "Yuf sana"
bunuanlatmayibasardimmi = True
For j = 1 To 2
If bunuanlatmayibasardimmi Then i = 1
'Burada daha karışık işler yapılıyor aslında. Böyle tek bir satır değil.
Else: i = 2
End If
dg = dg(i)
MsgBox ("Amma uğraştırdın " & dg)
bunuanlatmayibasardimmi = False
Next
End Sub
[/vb:1:0053b6f50e]
Not:kod içindeki mesajlar pek hoş değil, umarım şaka amaçlıdır.
Boyutlu değişkenle halledebileceğimi biliyordum. Ama kullanıcıya bırakmayı düşündüğüm bazı alanlardan dolayı bunu kullanmak istemiyordum. Excel deki DOLAYLI (VB deki karşılığı yani), C , pascal gibi dillerdeki pointer, Fox daki & işareti gibi bir özellikti benim aradığım, demek ki yokmuş.
Not: Kodun içindeki mesajları kodun içinde değiştirmek bence daha naif bir davranış olurdu.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.