HEDEFE HÜCRE İÇERİĞİ -2-

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Kod:
Sub b()
a = Sheets("Sayfa1").Range("a1").Value
b = Sheets(" & a & ").Range("a1").Value
If a = Sayfa1 Then
Range("b1") = a
ElseIf a = Sayfa2 Then
Range("b1") = b
End If
End Sub
A1 hücresine Sayfa isimlerini yazıyorum. Yazdığım sayafaya göre işlem yapmasını istiyorum.
A1 hücresine Sayfa2 yazdığımda Sayfa2 deki a1 değerini Sayfa1 b1 hücresine yazmasını istiyorum.
b tanımlamasında hata veriyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin. Birde şunu hatırlatayın. Bir kod içinde proserürün ismi ile aynı değişken ismi tanımlanamaz. Sizn kodda "b" değişkeni tanımlayamazsınız.

[vb:1:84ad2f1e13]Sub yaz()
[b1] = Sheets("" & [a1]).[a1]
End Sub
[/vb:1:84ad2f1e13]
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Anlaşılan Uzun uzun anlatmam gerekicek.
Ama önce şunu belirtmeliyim ki söylediğinizden hiçbişi anlamamıştım. Ancak daha sonra Sub b () olduğu için b değişkeni tanımlayamazsınız dediğinizi düşündüm. Doğrumu?

Benim çalışma kitabımda 5 sayfa var(şimdilik). Sayfaları sürekli diğer seçtiğim bir sayfa ile karşılaştırıyorum. Aynısı varmı varsa yanına 1 yaz, gibi. Yeni sayfalar da ekleyebilirim. Bu yüzden her sayfa için kod yazmak istemiyorum Yazdığım kodu tüm sayfalar için kullanmak için böyle bişey düşünmüştüm. Yukarıda yazdığım kodla ilgisi olmayabilir ama düşündüğüm cevap gelseydi gerisini ben halledebilirdim.
Yani; (Sub yaz() kubul edersek)
b= satırında tanımlanan " a " yı nasıl yazmalıyız
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
b.Cells(i,2)
bunu neden yapamıyoruz?
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Sub b()
a = Sheets("Sayfa1").Range("a1").Value
c = Sheets("" & a)
d = Sheets("Sayfa1").Range("b1").Value
e = Sheets("" & d)
For i = 3 To 10
For n = 3 To 10
If c.Cells(i, 2) = e.Cells(n, 2) Then
c.Cells(i, 2) = 1
End If
Next
Next
End Sub


HATA VERİYOR nEDENDİR?
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
If c.Cells(i, 2) = e.Cells(n, 2) Then

bu satırda hata veriyor
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
c = Sheets("" & a)

Yukarıdaki satırı aşağıdaki ile değiştirin. Diğerlerinede aynı işlemi uygulayın.

set c = Sheets("" & a)
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
set olayını artıramıyormuyuz?
yani kod içerisinde birçok set kullanamazmıyız. Yukarıdaki kodları mesela
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kullanabilirsiniz.
 
Üst