Shetslerdeki karışıklık için lütfen

Katılım
5 Nisan 2007
Mesajlar
413
Excel Vers. ve Dili
excel 2010 tr
Sayın korhan ayhan bu kodu vermişti:
fakat bu kod a10 ile a65536 arasında boş olan yani emekli sicili olmayanları siliyor şöyle bir şey yapılabilirmi?
örnek dosyada 87 ve 88 e yeni bir sütün ekledim
emekli sicil numaraları B SÜTÜNUNA KAYDI öyle bir kod olsunki aynı isimlere A SÜTÜNUNDA B SÜTÜNUNDA EMEKLİ SİCİL OLMAYANLARA( AYNI İSİMLERE kendiliğinden değişik numara versin ve onu baz alarak yine sıralama yapsın böylece emekli sicil nosu olmayanlar silinmesin?
nolur üstadlar yardım örnek dosyadaki bilgiler kendime aittir.
Sub DÜZENLE()
Sheets("Sayfa1").Select
Cells.Delete
[A1] = "SANDIK SİCİL NO"
[B1] = "ADI"
[C1] = "SOYADI"
SATIR = 2

On Error Resume Next
For SAYFA = 3 To Sheets.Count
Sheets(SAYFA).Range("A9:A65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
If Sheets(SAYFA).[A10] <> "" Then
SON_SATIR = Sheets(SAYFA).[A65536].End(3).Row
Sheets(SAYFA).Range("A10:C" & SON_SATIR).Copy Cells(SATIR, 1)
SATIR = [A65536].End(3).Row + 1
End If
Next

[A2:C65536].Sort Key1:=Range("B2"), Order1:=xlAscending
[A:C].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("F1"), Unique:=True
Range("E2") = 1
Range("E3") = 2
Range("E2:E3").AutoFill Destination:=Range("E2:E" & [F65536].End(3).Row)
Cells.EntireColumn.AutoFit

For X = 2 To [F65536].End(3).Row
For SAYFA = 3 To Sheets.Count
Set BUL = Sheets(SAYFA).[A:A].Find(Cells(X, "F"))
If Not BUL Is Nothing Then
ADRES = BUL.Address
Sheets(SAYFA).Cells(BUL.Row, "R") = Cells(X, "E")
Do
Set BUL = Sheets(SAYFA).[A:A].FindNext(BUL)
Loop While Not BUL Is Nothing And BUL.Address <> ADRES
End If
Next
Next

For SAYFA = 3 To Sheets.Count
Sheets(SAYFA).[A10:R65536].Sort Key1:=Sheets(SAYFA).[R10], Order1:=xlAscending
Next

For SAYFA = 3 To Sheets.Count
Sheets(SAYFA).Select
If [R65536].End(3).Value < Sheets("Sayfa1").[E65536].End(3).Value Then
For X = 1 To (Sheets("Sayfa1").[E65536].End(3).Value - [R65536].End(3).Value)
Cells([R65536].End(3).Row + 1, "R") = [R65536].End(3).Value + 1
Next
End If
For X = [R65536].End(3).Row To 10 Step -1
KONTROL = Cells(X, "R") - Cells(X - 1, "R")
If KONTROL <> 1 Then
Rows(X & ":" & X + KONTROL - 2).Insert
End If
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sicil numaralarının olduğu yıl sayfaları örnek kitaptaki, gibi 2 sıradan itibaren dizilmelidir.

bir adet gizli sayfa var eğer orj. kitapta yoksa
If .Index > 2 Then satırını If .Index > 1 Then olarak değiştirin


Kod:
Sub SıcNoAta()
Dim iSonSat, iSyc As Integer
'sonsat = wsh.Cells(65536, i).End(3).Row
    For Each sh In ThisWorkbook.Sheets  'ThisWorkbook.Sheets
        With sh
            If .Index > 2 Then
            'MsgBox sh.Name
            iSonSat = .Cells(65536, 3).End(3).Row
                For iSyc = 10 To iSonSat Step 1
                    If .Cells(iSyc, 3).Value <> "" And .Cells(iSyc, 2).Value = "" Then
                        .Cells(iSyc, 2).Value = "Bos" & iSyc
                    End If
                Next iSyc
            End If
        End With
    Next sh
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn Harbiyiğit lütfen sayfalarınız aynı standartta olsun
1987, 1988 de tabloyu b den başlatıp diğerlerinde A dan başlatıyorsunuz.
Bilgi işlem uzmanısıznı ve makroların bir standar olan sıralamalar için hizmet edeceğinden ya haberiniz yok yada biz excel.web.tr üyleri ile dalga geçiyorsunuz.

1987 ve 1988 sayfalarında
Kod:
Sub SutSil()
ThisWorkbook.ActiveSheet.Columns(1).Delete
End Sub
çalıştırın lütfen.


Ardından bu kodları kullanın
Kod:
Sub SıcNoAta()
Dim iSonSat, iSyc As Integer
    For Each sh In ThisWorkbook.Sheets
        With sh
            If .Index > 2 Then
                iSonSat = .Cells(65536, "b").End(3).Row
                For iSyc = 10 To iSonSat Step 1
                    If .Cells(iSyc, "b").Value <> "" And .Cells(iSyc, "a").Value = "" Then
                       .Cells(iSyc, "a").Value = "Bos" & iSyc
                    End If
                Next iSyc
            End If
        End With
    Next sh
End Sub
 
Son düzenleme:
Katılım
5 Nisan 2007
Mesajlar
413
Excel Vers. ve Dili
excel 2010 tr
Teşekkür ederim

sn Harbiyiğit lütfen sayfalarınız aynı standartta olsun
1987, 1988 de tabloyu b den başlatıp diğerlerinde A dan başlatıyorsunuz.
Bilgi işlem uzmanısıznı ve makroların bir standar olan sıralamalar için hizmet edeceğinden ya haberiniz yok yada biz excel.web.tr üyleri ile dalga geçiyorsunuz.

1987 ve 1988 sayfalarında
Kod:
Sub SutSil()
ThisWorkbook.ActiveSheet.Columns(1).Delete
End Sub
çalıştırın lütfen.

Ardından bu kodları kullanın
Kod:
Sub SıcNoAta()
Dim iSonSat, iSyc As Integer
'sonsat = wsh.Cells(65536, i).End(3).Row
    For Each sh In ThisWorkbook.Sheets  'ThisWorkbook.Sheets
        With sh
            If .Index > 2 Then
            'MsgBox sh.Name
            iSonSat = .Cells(65536, "b").End(3).Row
                For iSyc = 10 To iSonSat Step 1
                    If .Cells(iSyc, "b").Value <> "" And .Cells(iSyc, "a").Value = "" Then
                        .Cells(iSyc, "a").Value = "Bos" & iSyc
                    End If
                Next iSyc
            End If
        End With
    Next sh
End Sub
Bakın sayın sayar ben sadece emekli sicil nosu olmayanları atmasın dedim. 1. problem buydu zaten konunun başında 87 ve 88 'e sütun eklediğimi söylemiştim sizden ricam şu bu yazdığınız kodlara göre bir örnek ekleyebilirmisiniz. saygıyla.
 
Katılım
5 Nisan 2007
Mesajlar
413
Excel Vers. ve Dili
excel 2010 tr
Maalesef olmadı

87 Yılında ertana bos11 fikriye bos 12 ( 88 de ertana bos 11 87 ile aynı) Fikri' ye bos 10<< hata 87 de fikri bos 10 sa neden 88 de 12?
 
Katılım
5 Nisan 2007
Mesajlar
413
Excel Vers. ve Dili
excel 2010 tr
say&#305;n hsayar dosyan&#305;n de&#287;i&#351;memi&#351; hali &#351;u adresde mevcut a&#231;&#305;lan pencerede
KEYHESAPEK2.xls dosyas&#305;n&#305; indirmek i&#231;in buraya t&#305;klay&#305;n&#305;z. yaz&#305;yor buyrun hi&#231; de&#287;i&#351;memi&#351; hali orda mevcut bakal&#305;m as&#305;l bir &#231;&#246;z&#252;m &#246;nerceksiniz.
http://tasfiyeemlak.com/contentpage.aspx?pageid=45
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
87 Yılında ertana bos11 fikriye bos 12 ( 88 de ertana bos 11 87 ile aynı) Fikri' ye bos 10<< hata 87 de fikri bos 10 sa neden 88 de 12?
her sayfa değiştiğinde i_syc = 1 durumuna gelirde ondan.
Sayın Korhan Ayhan size anlatmışte sizin verilerinizde aklımda kaldığı kadarıyla sizin asıl verilerinizde

1987 yılında adı a b olan kişi ile
1988 yılında ki adı a b olan kişi ile aynı olmayabilir diyorsunuz. ben size yine aynı şeyi söyleyecem standart olmasını istiyorsanaz 1987-xxxx key hesabı olanların TC nolarının bulun olayı tekrar gözden geçirelim.
 
Katılım
5 Nisan 2007
Mesajlar
413
Excel Vers. ve Dili
excel 2010 tr
her sayfa değiştiğinde i_syc = 1 durumuna gelirde ondan.
Sayın Korhan Ayhan size anlatmışte sizin verilerinizde aklımda kaldığı kadarıyla sizin asıl verilerinizde

1987 yılında adı a b olan kişi ile
1988 yılında ki adı a b olan kişi ile aynı olmayabilir diyorsunuz. ben size yine aynı şeyi söyleyecem standart olmasını istiyorsanaz 1987-xxxx key hesabı olanların TC nolarının bulun olayı tekrar gözden geçirelim.
ben o yüzden yeni sütun ekleyerek olaya çözüm aradım olmuyorsa olmuyo deyin en azından doğru isimler kurtulsun diye uğraşıyorum.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
ozaman &#351;unu s&#246;ylermisiniz bana 1987 y&#305;l&#305;ndAK&#304; H&#220;SEY&#304;N SAYAR ile 1994 y&#305;l&#305;ndaki h&#252;seyin sayar farkl&#305; ki&#351;iler ise bu ayr&#305;m&#305; bilgisayara nas&#305;l yapt&#305;racaks&#305;n&#305;z. tc no olursa bir ihtimal halladelebilir.
 
Üst