Makro ile verileri düzgün hale getirme..

Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
Hayırlı günler,
Ekte bulunan belge de "1" isimli sayfa bir program çıktısına ait. bu sayfadaki verileri ve sayfa düzenini "Örnek tablo" isimli sayfadaki ki gibi yapmaya çalışıyorum. ben örnek olarak 4 kişi için yaptım. tüm kişiler için yapılması gerekmekte. Formül ile olması imkansız gibi görülüyor.
Yardımlarınızı rica ediyorum.
Bilgi notu; Tüm çalışanların aylık çalışmaları eşit değil. mesela çoğu işçi için 30 satır yeterli iken bazı işçiler 32 33 satıra çıkıyor bu dikkat edilmeli.
Teşekkürler..

http://s3.dosya.tc/server6/4sca1p/1.xlsx.html
 

Ekli dosyalar

  • 164 KB Görüntüleme: 2
Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Problem benden mi kaynaklanıyor bilmiyorum ama dosyanız boş gözüküyor.
Aynı zamanda hata veriyor: Sheet001.htm dosyası eksik.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,164
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Bendede aynı hatayı verdi, eksik dosya hatası veriyor.
 
Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
excel görünümlü htm dosyası olarak kaydediyor program. ben onu xlsx formatında kaydedip yüklediğimi sanmıştım ama yanlış olmuş yarın düzeltip tekrar ekleyeceğim konuya özür dilerim herkesten.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kodu deneyiniz.
Tablo olayını da el ile ya da koşullu biçimlendirme ile ayarlayabilirsiniz.
Kod:
Sub KOD()
Dim s1 As Worksheet, s2 As Worksheet
Dim a As Integer, x As Integer
Set s1 = Sheets("1")
Set s2 = Sheets("Örnek tablo")
x = 3

Application.ScreenUpdating = False

With s2.Cells
    .ClearContents
    .UnMerge
    .Font.Name = "Verdana"
    .Font.Size = 8
    .Font.Bold = False
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .RowHeight = 15
End With

s2.Range("F:G").NumberFormat = "hh:mm;@"
s2.Range("E:E").HorizontalAlignment = xlLeft
s2.Range("D:D").Font.Size = 7

For a = 3 To s1.Range("A65500").End(3).Row
    If s1.Cells(a, "A") = "Kart No:" Then
        kn = s1.Cells(a, "B")
        sn = s1.Cells(a + 1, "B")
        ad = s1.Cells(a + 2, "B") & " " & s1.Cells(a + 3, "B")
        s2.Cells(x, "B") = "Kart No:"
        s2.Cells(x, "C") = "Sicil No:"
        s2.Cells(x, "D") = "ADI - SOYADI"
        s2.Cells(x, "E") = "Tarih"
        s2.Cells(x, "F") = "Giriş"
        s2.Cells(x, "G") = "Çıkış"
        
        With s2.Range("B" & x & ":G" & x)
            .Font.Bold = True
            .Font.Size = 8
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
        End With
        
        x = x + 1
        
    ElseIf IsDate(Left(s1.Cells(a, "A"), 10)) Then
        s2.Cells(x, "B") = kn
        s2.Cells(x, "C") = sn
        s2.Cells(x, "D") = ad
        s2.Cells(x, "E") = s1.Cells(a, "A")
        s2.Cells(x, "F") = s1.Cells(a, "B")
        s2.Cells(x, "G") = s1.Cells(a, "C")
        x = x + 1
        
    ElseIf s1.Cells(a, "A") = "" Then
        s2.Cells(x, "B") = kn
        s2.Cells(x, "C") = sn
        s2.Cells(x, "D") = ad
        s2.Range("E" & x - 1 & ":E" & x).MergeCells = True
        s2.Cells(x, "F") = s1.Cells(a, "B")
        s2.Cells(x, "G") = s1.Cells(a, "C")
        x = x + 1
        
    End If
    
Next

Application.ScreenUpdating = True
End Sub
 
Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
çok teşekkür ederim sayın mucit77. Allah razı olsun.
 
Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
Selam iyi akşamlar. 7 yıl sonra bu konu tekrar lazım oldu.
Fakat kod nedense çalışmamaya başladı.
sanırım şuanda kullandığım office-2016 olduğundan kaynaklanıyor.
Yardımcı olabilirmisiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki sorun nedir?

Hata mı veriyor?

İstenen sonucu vermiyor mu?

Yardım için önce sorunu tespit etmek gerekir.

Ben de 2016 sürümünü kullanıyorum. Denediğimde problem çıkmadan kodlar çalıştı.
 
Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
Merhaba. 5 Nolu cevapta paylaştığım örnek üzerinde denedim. Örnek tablo isimli sayfada ki gibi veriler düzgün bir şekilde gelmiyor. 1 kaç saniye çalışıyor makro işlem yarıda kesiliyor. örnek olarak resim yükledim.

 
Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
yani kişilerin orada 30 günlük sıralanması gerekirken bazen 1 baezen 3 satır geliyor satır başına
Umarım anlatabilmişimdir
 
Üst