• DİKKAT

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

İf then komutunda kata

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,105
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
İf then komutunda hata

Merhabalar
Makro kodunda sorun yaşıyorum yardım edebilir misiniz?

Amacım; B,C,D,.. Sutunlartın satır 1lerini asütununda karşılaştırıp varsa 1 yoksa 2 yazacak
Teşekkürler.

Kod:
Sub incememet()

For a = 2 To [a65536].End(xlUp).Row

If Cells(a, "A").Find(Cells(1, "B").Value) = Cells(1, "B") Then Cells(a, "b") = 1 Else Cells(a, "b") = 2

End If

deger = Cells(a, "A").Find(Cells(1, "B").Value).Row

Next a

End Sub
 

Ekli dosyalar

Son düzenleme:
aşağıdaki kodu deneyin..
not : inputboxa girceğiniz sayı örneğin c sutunuda dahil çalışmasını istiyorsanız c sutunu 3 üncü sutun olduğundan 3 sayısını giridn..böylece kod b ve c sutunları için işlem yapar..d sutununuda almak isterseniz 4 yazın gibi...

Sub incememet()
c = InputBox("Kaçıncı sutuna kadar işlem yapmak istiyorsunuz?")
For x = 2 To c
For a = 2 To [a65536].End(xlUp).Row
If Cells(a, 1) Like "*" & Cells(1, x) & "*" Then
Cells(a, x) = 1
Else
Cells(a, x) = 2
End If
Next a
Next x
End Sub
 
aşağıdaki kodu deneyin..
not : inputboxa girceğiniz sayı örneğin c sutunuda dahil çalışmasını istiyorsanız c sutunu 3 üncü sutun olduğundan 3 sayısını giridn..böylece kod b ve c sutunları için işlem yapar..d sutununuda almak isterseniz 4 yazın gibi...

Sub incememet()
c = InputBox("Kaçıncı sutuna kadar işlem yapmak istiyorsunuz?")
For x = 2 To c
For a = 2 To [a65536].End(xlUp).Row
If Cells(a, 1) Like "*" & Cells(1, x) & "*" Then
Cells(a, x) = 1
Else
Cells(a, x) = 2
End If
Next a
Next x
End Sub
Cevap için teşekkür ederim.Kod sorunsuz çalışıyor.

Kendim de kodu aşağıdaki şekilde düzenleyerek çalıştırdım.
Kod:
For sut = 2 To 8
For a = 2 To [a65536].End(xlUp).Row

If Cells(a, "A").Find(Cells(1, sut).Value) Is Nothing Then Cells(a, sut) = 2 Else Cells(a, sut) = 1

Next a
Next sut
 
For a = 2 To [a65536].End(xlUp).Row

Yerine

Kod:
For a = 2 To Cells(Rows.Count, "A").End(xlUp).Row

Kullanmanız daha sağlıklı olacaktır. Çünkü 2007 ve sonraki sürümlerde sayfadaki satır sayısı 1048576'a çıkmıştır.

Sayfadaki satır sayınız 65536 dan fazla ise kullandığınız kod çalışmayabilir.
 
Geri
Üst