vb ile tum sutuna if blogu uygulanmasi

Katılım
9 Ocak 2009
Mesajlar
28
Excel Vers. ve Dili
excel 2003 biraz vb
Herkese merhabalar,

Arama yaptim fakat bu spesifik soruya bir cevap bulamadim. Eger varsa cok ozur dilerim.

For dongusu ile tum sutunu taramaya calisiyorum. Fakat bir turlu basarili olamadim. Soyle bir sey dusundum(syntax hatali olabilir su anda bakamiyorum)

Dim a as integer
For a=1 to 427
If [Ai] = "3" then [Bi] ="2"
Else: if [Ai] ="5" then [Bi] = "4"
.
.
End if
Next i

Yani amacim for ile tum columndaki bilgileri okuyup bunlari if bloguna sokmaktir.

Yardimci olursaniz cok sevinirim. Tesekkurler iyi gunler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,435
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Tam olarak ne yapmak istiyorsunuz?
 
Katılım
9 Ocak 2009
Mesajlar
28
Excel Vers. ve Dili
excel 2003 biraz vb
Merhabalar Necdet bey,

Elimde yaklasik 500 satir ve 30 kolon bilgi var. Bunlar bazi subelerde yapilan (500 sube var) bir anketin (toplam 30 soru var) cevaplari icin verilen puanlari bir formule göre hesaplamam gerekiyor.

Yani [C1], [C2]..... [C500]'e ayni formulu uygulamam gerekiyor.. Ama bunu =eger tarzinda yazamadim vb daha kolay olacaktir diye dusundum.. Dolayisiyla bir for dongusu icinde bir if else yazmam gerekiyor..

Kusura bakmayin telefondan giriyorum nete tekrar tesekkurler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,435
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Ben hâlâ birşey anlamadım, umarım anlayan bir arkadaş çıkar.
 
Katılım
9 Ocak 2009
Mesajlar
28
Excel Vers. ve Dili
excel 2003 biraz vb
Merhabalar, tekrar aciklamaya calisayim, herhalde yeteri kadar bilmedigim icin, derdimi de yeteri kadar aciklayamiyorum.

Elimde hazir olan bir Excel sayfasi var. Bu excel sayfasinda, A1'den A427'ye kadar cesitli rakamlar var. Bu rakamlar 427 subenin 1.sorudan aldigi puanlar.

Bir de elimde bankanin belirledigi bir agirlik tablosu var. Her sorunun kendine gore bir agirligi var. Mesela 1.sorudan (yani A1 hucresi) 5 puan alindiysa, ben B1 hucresinin 3 olmasini istiyorum. Bu 3 rakamini bulabilmek icin alinan puani bir formule gore agirlikli olarak hesaplamak gerekiyor.

Fakat bu agirlik formulu, seneden seneye degistigi icin, ben bunu Excel sayfasinin fx kutucugunu kullanarak =EGER(C1..........) gibi bir formul yazmaktansa, VB kullanip,

If [C1] = "5" Then [D1] = 3 (syntax'i hatirlayamiyorum yanlis olabilir)
Else: If [C1] = "4" Then [D1] = 2
.
.
.
gibi yazmak istiyorum. Fakat bu If blogunu her seferinde,

If [C2] = "5" Then [D2] = 3
Else: If [C2] = "4" Then [D2] = 2
.
.
.

yazmaktansa bu if blogunu bir for dongusunun icine kurmak istiyorum. Bunda amacim nedir? Oyle bir sansim olup olmadigini bilmesemde

for(i=0, i++, i<457)
If [Ci] = "5" Then [Di] = 3
Else: If [Ci] = "4" Then [Di] = 2
.
.
.

gibi bir for dongusu kurarak her C sutunu hucresine bu formule uygulamak istiyorum.

Fakat sanirim [Ci] gibi bir syntax mevcut degil.

Bilmem bu sefer anlatabildim mi?

Neresini anlatamadiysam, orasini soylerseniz acmaya calisirm.

Tesekkurler ilginiz icin.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,435
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bir hücrenin değeri 5 ise yanındaki hücreye 3 gelsin
4 ise 2
3 ise 1
2 ise ?
3 ise?
15 ise ?
anlaşılmayan bu işte, ne olacağını bilmeden ne önerileceğini nerden bilelim.

Örnek dosya da eklemiyorsunuz. Sonunda aynı dili kullanmıyoruz o yüzden de benden başka kimse yazmıyor size. Bende anlamaya çalışıyorum ama anlamıyorum özür dilerim.

Buna rağmen bir önerim olacak belki size bir fikir verebilir.
 

Ekli dosyalar

Katılım
9 Ocak 2009
Mesajlar
28
Excel Vers. ve Dili
excel 2003 biraz vb
Asil ben ozur dilerim. Ben anlatamiyorum, anlatamamisim.

Puanlar 1'den 5'e kadar olabiliyor. Yani sizin hazirladiginiz blok dosyasinda, degerler sutununa (A) girilebilecek degerler 5'e kadar.

Bir seyler yapmaya calistim, umarim daha etkili olabilir.

Tekrar tesekkurler.

(Visual Basic derleyicisini acarsaniz ne yapmaya calistigimi Comment Line koyarak anlatmaya calistim)

EDIT: Tamamdir hallettim sanirim.

For i = 2 to 13
If Cells (i,2) = "3" Then Cells (i, 3) = "2"

Next i

End Sub

Seklinde yapinca oldu. Tesekkurler.
 

Ekli dosyalar

Son düzenleme:
Üst