• DİKKAT

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

makro ile sayı ve metin sınıflama

Katılım
14 Ocak 2008
Mesajlar
176
Excel Vers. ve Dili
2010 türkçe
merhabalar, ekli dosyadaki bilgilerden, sayfa 1 deki A sütünündeki verileri, Sayfa 2 ye nitelikli olarak sıralamasını istiyorum. örneğin A sütünündeki 01/01/2012 tarihini sayfa ikiye aktarsın, sonraki tarihin bulunduğu hücreye kadar olan (02/01/2012) verileri de, sayfa ikinci sayfadaki tarih yazılan hücrenin aynı satırının yanına eklenmesi
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodları bir modüle kopyalayıp dener misiniz?

Kod:
Sub Raporla()
 
    Dim i   As Long, _
        j   As Long, _
        Son As Long, _
        Kol As Integer, _
        s1  As Worksheet, _
        s2  As Worksheet, _
        b   As Boolean
 
    Application.ScreenUpdating = False
 
    Set s1 = Sheets("Sayfa1")
    Set s2 = Sheets("Sayfa2")
 
    Son = s1.Cells(Rows.Count, "A").End(3).Row + 1
    s2.Range("X:AH").ClearContents
 
    i = 1
 
    Do While i < Son
        If IsDate(s1.Cells(i, "A")) Then
            j = j + 1
            Kol = 24
            s2.Cells(j, Kol) = s1.Cells(i, "A")
        ElseIf Not s1.Cells(i, "A") = "" Then
            Kol = Kol + 1
            s2.Cells(j, Kol) = s1.Cells(i, "A")
        End If
        i = i + 1
    Loop
 
    Application.ScreenUpdating = True
 
    MsgBox "DÜZENLEME BİTMİŞTİR...", vbInformation, "Necdet YEŞERTENER --> [URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
 
End Sub
 
evet teşekkür ederim nejdet bey, gönderdiğiniz kodu yazdığımda çalışıyor, ancak bendeki veri listesini sözkonusu birinci sayfaya kopyaladığımda hata alıyorum, dosyayı eke koydum.
 

Ekli dosyalar

Merhaba,

Tarih 4. satırdan itibaren başladığı için kodda i = 1 ifadesini i = 4 olarak değiştiriniz.
 
Kod:
Sub Raporla()
    
    Dim i   As Long, _
        j   As Long, _
        Son As Long, _
        Kol As Integer, _
        s1  As Worksheet, _
        s2  As Worksheet, _
        b   As Boolean
        
    Application.ScreenUpdating = False
    
    Set s1 = Sheets("Sayfa1")
    Set s2 = Sheets("Sayfa2")
    
    Son = s1.Cells(Rows.Count, "A").End(3).Row
    s2.Range("X:AH").ClearContents
    
  [COLOR="Red"]  i = 4[/COLOR]    
    Do While i < Son
        If IsDate(s1.Cells(i, "A")) Then
            j = j + 1
            Kol = 24
            s2.Cells(j, Kol) = s1.Cells(i, "A")
        ElseIf Not s1.Cells(i, "A") = "" Then
            Kol = Kol + 1
            s2.Cells(j, Kol) = s1.Cells(i, "A")
        End If
        i = i + 1
    Loop
    
    Application.ScreenUpdating = True
    
    MsgBox "DÜZENLEME BİTMİŞTİR...", vbInformation, "Necdet YEŞERTENER --> www.excel.web.tr"
    
End Sub

Kodda renkli olan kısmı değiştirin düzelecektir.. Necdet hocam'ın kodu doğru.. i satırını 4.satırdan başlattığınızda problem kalmiyor.. saygılar..
 
Necdet hocam, kusura bakma problemin çözümünü yazarken sen benden önce yazmişsin görmedim.. cevabı yazdıktan sonra senin cevabını gördüm..

saygılar hocam.. sayenizde cok şey öğreniyoruz..
 
Necdet hocam, kusura bakma problemin çözümünü yazarken sen benden önce yazmişsin görmedim.. cevabı yazdıktan sonra senin cevabını gördüm..

saygılar hocam.. sayenizde cok şey öğreniyoruz..

Rica ederim, aynı mantığı düşünmüşüz.
 
Merhaba, ekte yer alan dosyada belirtmeye çalıştığım formül oluşturma konusunda yardımcı olabilir misiniz. Teşekkürler.
-Sayfa 1 de yer alan verilerden sadece Noksan (N) olanları sayfa 2 ye aktarmak istiyorum.
 

Ekli dosyalar

Merhaba,

Sayın serpil_a sanırım fonksiyonlarla çözüm arıyorsunuz sorunuza, bu sorunuzu fonksiyonlar bölümünde sorunuz.
 
Geri
Üst