• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ıf,left fınd ile ilgili bir kod

Katılım
28 Kasım 2007
Mesajlar
919
Excel Vers. ve Dili
Office 2010 İngilizce
=IF(LEFT(C2;FIND(" ";C2)-1)="HASAN";40006;IF(LEFT(C2;FIND(" ";C2)-1)="YASAR";40008;IF(LEFT(C2;FIND(" ";C2)-1)="MUZAFFER";40001;IF(LEFT(C2;FIND(" ";C2)-1)="HUSEYIN";40007;IF(LEFT(C2;FIND(" ";C2)-1)="DİLEK";40002;"DİĞER")))))

Merhaba arkadaşlar,
Yukarıdaki formulü A2 hucresinden itibaren kullanıyorum. Fakat bunu bir kod olarak kullanma ihtiyacı duydum. AYrdımcı olur musunuz?
 
Merhaba, Bu şekilde formül yazıp kodunu istemek yerine ne yapmak istediğinizi örnek bir dosya ile birlikte sormayı deneyiniz...
 
o formül a2 içinse,

Kod:
For i = 2 To 50
Cells(i, 1).Value = "=IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""HASAN"",40006,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""YASAR"",40008,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""MUZAFFER"",40001,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""HUSEYIN"",40007,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""DİLEK"",40002,""DİĞER"")))))"
Cells(i, 1).Value = Cells(i, 1).Value
Next

a2:a50 aralığına formulü uygular daha sonra çıkan degeri tekrar hücreye yazıp formülü kaldırır.Hücreye kopyalamayla degilde hesaplanarakta yapılabilir ama çalışmayı görmek lazım, iyi çalışmalar.
 
Sub FF()
For i = 2 To WorksheetFunction.CountA(Range("c:c")) + 1
Cells(i, 1).Value = "=IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""HASAN"",40006,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""YASAR"",40008,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""MUZAFFER"",40001,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""HUSEYIN"",40007,IF(LEFT(RC[2],FIND("" "",RC[2])-1)=""DİLEK"",40002,""DİĞER"")))))"
Cells(i, 1).Value = Cells(i, 1).Value
Next i
End Sub

İlginiz çok teşekkür ederim arkadaşlar. Fedeal beyin kodunda ufak bir değişikle işlem tamamlandı.
 
KOD = IF(LEFT(RC[2],FIND("" "",RC[2])-1
FORMUL= IF(LEFT(C2;FIND(" ";C2)-1)=
Öğrenmek için sormak istedim arkadaşlar. Benim formulasyonumda C2 hucresi kod da RC[2] oluyor,anlayamadım. Rica etsem açıklamanız mümkünmü ?
 
Bu kodu makro kaydet yapıp hücreye yapıştırırsanız kaydettiginiz makroda formulün bu şeklini görürsünüz. c2 RC[2] olmasını mantığı formülün uygulandıgı hücrenin iki sütun yanı yani a2nin iki sütun yanı. yani aynı formülü Cells(i, 2).Value b sütununa yazdırsaydık c degil d sütununu sorgulayacaktı.
örnegin R[-1]C[1] bu aktif hücrenin bir satır üstü bir sütun yanı r satır c sütun, aktif hücre a2 ise R[-1]C[1]= b1
 
Son düzenleme:
Fedaal bey tekrar merhaba,
Ben sizin koda birkaç tane daha koşul eklemek istedim fakat 7 de takıldım. Toplam 9 koşul olacak.
 
sayfanın aslı olmadıgı için kontrol etmedim(atıyorum ve olmasını umuyorum)

Sub FF()
For i = 2 To WorksheetFunction.CountA(Range("c:c")) + 1
If Left(cells(i,"c"), WorksheetFunction.Find(" ", cells(i,"c")) - 1) = "HASAN" Then Cells(i, 1).Value = 40006
If Left(cells(i,"c"), WorksheetFunction.Find(" ", cells(i,"c")) - 1) = "YASAR" Then Cells(i, 1).Value = 40008
Next i
End Sub

eğer olursa böyle şartları istediginiz kadar yazabilirsiniz.
 
Ricaederim,işinize yaradıgına sevindim iyi çalışmalar.
 
Üstadım, koşulların dışındakileri DİĞER nasıl yapabilirim acaba
 
Şartları yazdım fakat o şartların dışındakiler DİĞER olsun nasıl yapabilirim üztadım acaba
 
Sub mesaj()
sat = Cells(65536, "a").End(xlUp).Row + 1
Cells(sat, "a").Value = "=IF(b1>0,"" FT KESMENİZ GEREKİYOR"",""FT KESECEĞİZ"")"

End Sub

Merhaba arkadaşlar,
Yukarıdaki koddada göreceğiniz üzere A kolonundaki son hücreye B kolonundaki verinin 1 den büyük olup olmadığına baktırıp koşulu yazdırmaya çalışıyorum. Fakat B1 sabit kalıyor. Aslında benim amacım B kolonundaki son hücreye kadar kontrol edip ilgili formülü A kolonuna yazdırmak. Ama kod çalıştığında, formülün A kolonunda görünmesini de istiyorum aynı zamanda yardımcı olabilir misiniz lütfen?
 
Sub eger()
For i = 2 To WorksheetFunction.CountA(Range("b:b")) + 1
If Cells(i, 2).Value >= 0 Then
Cells(i, 1).Value = "=if(R[1]C[1]>0,"" FT KESMENİZ GEREKİYOR"",""FT KESECEĞİZ"")"
End If
Next i
End Sub
yukarıdaki açıklamalara bakıp formülü istediğim gibi yaptım. Fakat "R[1]C[1]>0" böyle kod yazmak biraz karıştırıyor sanki insanı, benim anlamak istediğim şey, R[1]C[1]>0 yeine başka bir şekilde yapabilirmiydik.
 
Geri
Üst