Excel Liste Düzenlemesi

Katılım
17 Nisan 2009
Mesajlar
10
Excel Vers. ve Dili
2007 Türkçe
Öncelikle Merhabalar,

Ekli listede ham hali ve düzenlenmiş hali bulunan bir excel tablom mevcut. Düzeltmem gereken bu şekilde binlerce kişilik bir listem var. Makro konusunda çok şey bilmiyorum ve eğer listeyi düzeltebilmem konusunda bana bir makro yazar ya da başka bir yol gösterebilirseniz çok sevinirim.

Herkese şimdiden çok teşekkürler.

NOT: Düzenlenmiş listeyi yeni bir sayfa ya da kitaba aktarmak istiyorum.
 

Ekli dosyalar

Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
Merhaba, aşağıdaki kod bloğunu dener misiniz ?

Kod:
Sub duzenle()
Dim ham As Worksheet, duz As Worksheet
Dim tcno As String, baba As String, dyeri As String, dtarihi As Date
Dim i As Long, isadres As String, ceptel As String

Set ham = Sheets("sayfa2")
Set duz = Sheets("sayfa3")

With ham
For i = 4 To .Range("e65536").End(3).Row Step 3
    isim = Mid(.Cells(i, 1).Value, 1, InStrRev(.Cells(i, 1).Value, " ", -1, 1) - 1)
    soyisim = Mid(.Cells(i, 1).Value, InStrRev(.Cells(i, 1).Value, " ", -1, 1) + 1)
    tcno = CStr(.Cells(i, 2).Value)
    baba = .Cells(i, 3).Value
    dyeri = .Cells(i, 4).Value
    dtarihi = CDate(.Cells(i + 1, 4).Value)
    isadres = .Cells(i, 5).Value & " " & _
            .Cells(i + 1, 5).Value & " " & _
            .Cells(i + 2, 5).Value
    ceptel = CStr(Cells(i, 6).Value)
        With duz.Range("a65536")
    .End(3)(2, 1).Value = isim
    .End(3)(1, 2).Value = soyisim
    .End(3)(1, 3).Value = tcno
    .End(3)(1, 4).Value = baba
    .End(3)(1, 5).Value = dyeri
    .End(3)(1, 6).Value = dtarihi
    .End(3)(1, 7).Value = isadres
    .End(3)(1, 8).Value = ceptel
End With
Next i
End With
MsgBox ""
Set ham = Nothing
Set duz = Nothing
isim = vbNullString: soyisim = vbNullString
tcno = vbNullString: baba = vbNullString
dyeri = vbNullString: dtarihi = Empty
isadres = vbNullString: ceptel = vbNullString
End Sub
 

Ekli dosyalar

Katılım
17 Nisan 2009
Mesajlar
10
Excel Vers. ve Dili
2007 Türkçe
Başta yapamadım ama uğraşıp sonunda başardım listemi oluşturmayı :)
İlginiz alakanız ve emeğiniz için çok teşekkürler.
Sağlıcakla kalınız.
 
Katılım
17 Nisan 2009
Mesajlar
10
Excel Vers. ve Dili
2007 Türkçe
Merhaba,

Yukarıdaki konuyla ilgili olarak aynı tabloda şöyle bir sorunum var. Tek hücrede topladığımız E sütunundaki adreslerin bazıları bir, bazıları iki, bazıları ise üç satırda bulunuyor. yazılan makroda adresler üç satırda olunca sonuç veriyor. Bu makroyu adreslerin bir, iki ya da 3 satırda oluşuna göre değiştirmemiz mümkün müdür.
Yarımlarınız için çok teşekkürler.
NOT: Yeni örnek tabloyu ekte gönderiyorum.
 

Ekli dosyalar

Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
Merhaba, dener misiniz ?

Kod:
Sub duzenle()
Dim ham As Worksheet, duz As Worksheet
Dim tcno As String, baba As String, dyeri As String, dtarihi As Date
Dim i As Long, isadres As String, ceptel As String

Set ham = Sheets("sayfa2")
Set duz = Sheets("sayfa3")

With ham
a = .Range("a65536").End(3)(2, 1).Row
i = 4
Do
    isim = Mid(.Cells(i, 1).Value, 1, InStrRev(.Cells(i, 1).Value, " ", -1, 1) - 1)
    soyisim = Mid(.Cells(i, 1).Value, InStrRev(.Cells(i, 1).Value, " ", -1, 1) + 1)
    tcno = CStr(.Cells(i, 2).Value)
    baba = .Cells(i, 3).Value
    dyeri = .Cells(i, 4).Value
    dtarihi = CDate(.Cells(i + 1, 4).Value)
    ceptel = CStr(Cells(i, 6).Value)
If Cells(i + 2, 1).Value = Empty Then
    isadres = .Cells(i, 5).Value & " " & _
            .Cells(i + 1, 5).Value & " " & _
            .Cells(i + 2, 5).Value
            i = i + 3
Else
    If Cells(i + 1, 1).Value = Empty Then
        isadres = .Cells(i, 5).Value & " " & _
            .Cells(i + 1, 5).Value
            i = i + 2
    Else
        isadres = .Cells(i, 5).Value
        i = i + 1
    End If
End If
        With duz.Range("a65536")
            .End(3)(2, 1).Value = isim
            .End(3)(1, 2).Value = soyisim
            .End(3)(1, 3).Value = tcno
            .End(3)(1, 4).Value = baba
            .End(3)(1, 5).Value = dyeri
            .End(3)(1, 6).Value = dtarihi
            .End(3)(1, 7).Value = isadres
            .End(3)(1, 8).Value = ceptel
        End With
Loop Until a <= i
End With
Set ham = Nothing
Set duz = Nothing
isim = vbNullString: soyisim = vbNullString
tcno = vbNullString: baba = vbNullString
dyeri = vbNullString: dtarihi = Empty
isadres = vbNullString: ceptel = vbNullString
End Sub
İyi çalışmalar.
 

Ekli dosyalar

Katılım
17 Nisan 2009
Mesajlar
10
Excel Vers. ve Dili
2007 Türkçe
Çok güzel olmuş. Listeyi tam istediğim gibi düzenliyor. Ellerinize sağlık.
Saygılar,
 
Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
Verileri Düzenleme ve Sıralama yardım

Günlük olarak kurumumuza gelen numuneler sonuçlandırılıp rapor ediliyor ve rapor kaydı istatistikliklerde kullanılmak üzere tutulmaktadır.
Ancak istatistiklerde kullanılmak üzere kaydedilen verilerin diğer sayfaya makro ile sıralayıp düzenlemem gerekmektedir.

Yardımlarınız için şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
Öncelikle Merhabalar,
Kayıt Düzenlemedeki olayla ilgili cevap alamamam nedeniyle, işlemim anlaşılmadığını düşünerek açıklama yapma gereği duydum.
Veri sayfasında aynı kuruma ait en fazla 15 tane numune kaydı yapılmakta ve protokol no ile
Protokol Nolu - Numune Yerinin İsmi - 100 cc. de Coliform Bakteri Sayısı
1. Kayıt H Sütunu - I Sütunu - j Sütunu
2. Kayıt K - L - M
3. Kayıt N - O - P
4. Kayıt .......... en son AV,AW,AX

gibi tek satırdaki verileri k,l,m sütunundan başlayarak üçerli olarak h,ı,j sütununda alt alta dizmek
 

Ekli dosyalar

Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
UserForm daki Texboxlarla yan yana bu sayfaya satır olarak aktarmak zorunda olduğum (Listeboxta veriyi Seçtiğimde yapılacak değişiklikleri uygulayabilmek için tek satırlı kayıt tutmak zorundaydım.) Ancak İstatistislik için bu sayfadaki verileri diğer sayfaya aşağıda anlattığım gibi düzenlemem gerekmektedir.

Aynı kuruma ait aynı tarihli satırdaki veri, Protokol Nolu Kayıt 1 ile 15 arası kayıt yazdırılmaktadır.

Örneğin : 2 satıra ait K2,L2,M2 de kayıtlı verileri satır ekle H3,I3,J3 e taşı kopyala - N2,O2,P2 de kayıtlı verileri satır ekle bir öncekinin (H4,I4,J4) altına kopyala, - Q2,R2,S2 Sütununu bir öncekinin (H5,I5,J5) altına taşı kopyala ........ en son AV,AW,AX e kadar... Eğer veri yoksa diğer diğer eklenen verileri devam ettirecek...

Yardımlarınız için şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:
Üst