• DİKKAT

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

belli bir koşula uyanları farklı çalışma sayfasına atmak

Katılım
23 Temmuz 2009
Mesajlar
49
Excel Vers. ve Dili
2003 standart edition türkçe
merhaba arkadaşlar yazdığım makroda bir sorun var ama bulamadım yardım ederseniz memnun olurum
sayfa1 de harf ve sayılar var (a,b,d,e,g,20,50,90) gibi sayfa1de 50 ve d harfinden sonrakileri 2. sayfaya atan makroda harfle iligli yazdığım koşul çalışmıyor sayıları atıyor ancak harflerde ave b'yi de atıyor.

Sub Düğme1_Tıklat()
For i = 1 To 100
For j = 1 To 100
If Cells(i, j) > 50 Then
Worksheets("Sayfa2").Cells(i, j) = Cells(i, j):rem sayfa 2 için kullanılmıstır
End If
Next
Next
For i = 1 To 100
For j = 1 To 100
If Cells(i, j) > "e" Then
Worksheets("Sayfa2").Cells(i, j) = Cells(i, j)
End If
Next
Next
Worksheets("Sayfa2").Select
End Sub
 
Merhaba

Kod:
If Cells(i, j) > "e" Then
Bu şekilde kullanamazsınız, sayısal veri olmalı.
Bunun yerine yazılan harfin kodunu kullanabilirsiniz.
Kod:
If Asc(Cells(i, j)) > 101 Then
 
ascii olarak denedim ama çalışmadı hata veriyor
 
ascii olarak denedim ama çalışmadı hata veriyor

Merhaba
Yöntemi önerdik, olup olmadığını siz söyleyeceksiniz.
Olduysa mesele yok, olmadıysa, olmadı demeniz yeterli değil.
Niçin olmadığını söyleyebilmek için nasıl bir dosya üzerinde çalıştığınızı görmek lazım.
 
Merhaba
Yöntemi önerdik, olup olmadığını siz söyleyeceksiniz.
Olduysa mesele yok, olmadıysa, olmadı demeniz yeterli değil.
Niçin olmadığını söyleyebilmek için nasıl bir dosya üzerinde çalıştığınızı görmek lazım.

pardon,

dosya ektedir.

saygılar
 

Ekli dosyalar

Merhaba

Bunu deneyiniz.
Kod:
Sub d()
Set s1 = Sheets("Sayfa1")
Set s3 = Sheets("Sayfa3")

For Each hcr In s1.Range("a1:j21")
If IsNumeric(hcr.Value) Then
If hcr.Value > 50 Then
adr = hcr.Address(RowAbsolute:=False, ColumnAbsolute:=False)
s3.Range(adr) = hcr.Value
End If
Else
If Asc(hcr.Text) >= 100 Then
adr = hcr.Address(RowAbsolute:=False, ColumnAbsolute:=False)
s3.Range(adr) = hcr.Value
End If
End If
Next
End Sub

Not:
a, b, c gibi küçük harf ile yazılmışsa kod doğu çalışır.
A, B, C şeklinde ise bunların Asc kodları 65~90 arasıdır.
 
aynen yazdığınız gibi kopyaladım ancak d harfinden küçük olanlarda sayfa 2de çıktı
 
merhaba arkadaşlar yazdığım makroda bir sorun var ama bulamadım yardım ederseniz memnun olurum
sayfa1 de harf ve sayılar var (a,b,d,e,g,20,50,90) gibi sayfa1de 50 ve d harfinden sonrakileri 2. sayfaya atan makroda harfle iligli yazdığım koşul çalışmıyor sayıları atıyor ancak harflerde ave b'yi de atıyor.

Sub Düğme1_Tıklat()
For i = 1 To 100
For j = 1 To 100
If Cells(i, j) > 50 Then
Worksheets("Sayfa2").Cells(i, j) = Cells(i, j):rem sayfa 2 için kullanılmıstır
End If
Next
Next
For i = 1 To 100
For j = 1 To 100
If Cells(i, j) > "e" Then
Worksheets("Sayfa2").Cells(i, j) = Cells(i, j)
End If
Next
Next
Worksheets("Sayfa2").Select
End Sub

aynen yazdığınız gibi kopyaladım ancak d harfinden küçük olanlarda sayfa 2de çıktı

Merhaba
Sorunuzdan anladığım; sayısal veriler 50'den büyükse ve yazılan harf d harfinden sonra ise sayfaya aktar.

Ek dosyadaki gibi istemiyor musunuz?
 

Ekli dosyalar

aynen yazdığınız gibi kopyaladım ancak d harfinden küçük olanlarda sayfa 2de çıktı

Merhaba
Ben Sayfa3'e aktaran kod yazdım, siz kendi yazdığınız kod ile sayfa2'ye aktarmışsınız,. Yanlış sayfaya bakıyor olmalısınız. :)
 
çok pardon özür dilerim
aynen dediğiniz gibi olmuş

kolay gelsin
çok sağolun
 
Geri
Üst