• DİKKAT

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

Satır silinse de numara silinmesin

  • Konbuyu başlatan Konbuyu başlatan nane
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Ocak 2006
Mesajlar
304
Excel Vers. ve Dili
Excel 2007 tr
Merhabalar,
B3 den itibaren sıra numaraları var 1,2,3,4...n kullanıcı satırı tümüyle silse dahi bu sıralama bozulmasın bunun için nasıl kod yazmalıyım.
Örnek: A10 satırını tümüyle sildiğinde B12 de ki sıra no 10 du silindi veya sağ klik sil dediğinde hücreler yukarı öteleniyor ama formül ile verdiğim sıra no.ları bozuluyor.
B4..B sütunundaki formül ise
=Eğer(C4>0;B3+1;"")

Dosya ektedir ilgilenecek arkadaşlara teşekkürler

Yb®
 

Ekli dosyalar

Merhaba,

Aşağıdaki fonksiyonu dener misiniz?

B3

Kod:
=EĞER(C3="";"";BAĞ_DEĞ_DOLU_SAY($C$3:C3))
 
Teşekkürler Necdet bey,
Bunu makro kod olarak yapabilirmiyiz kullanıcılar formülü silmesin diye.
Aslında birde söyle sıkıntım var. Formülü aşağı doğru uzattığımda yazıcıdan çıktı almak istediğimde sıra no sütunu B formüllü olduğundan sayfa sayısı artıyor boş sayfa oluyor.
Yani bilgi alanı 50. satıra kadar dolu sıra no sütununu 80.satıra kadar sürüklersem yazıcı çıktı sayfası 2 oluyor oyda bilgi girilmiş alan 1.sayfaya sığıyor.
Bunu nasıl önleyebilirim
-Birde tahmin ettiğiniz gibi liste uzun imleç (korser) D2 hücresinde iken kayıt ettip katatıp. Sonra tekrar açtığımda C sütunu son dolu hücreye gelsin istiyorum. Her kayıttan sonra
Yardımlarınız için tekrar teşekkürler
Yb®
 
Son düzenleme:
Merhaba,

Dosyayı açtığınız an, Al.Çek sayfasında C sütununun Son Dolu hücresine geçer, aynı zamanda veri girişinin kolaylaştırmak amacıyla entera bastıkça yön olarak sağ seçildi.

Dosya kapandığında yön aşağıya göre ayarlandı.

Dosyanızı tam bilmediğim için bu kodları WorkBook üzerinde yaptırdım. Birden fazla sayfa var ise ilgili sayfa aktif olduğunda da yaptırmak olası.

ThisWorkbook'taki kodlar :

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.MoveAfterReturnDirection = xlDown
 
End Sub

Private Sub Workbook_Open()
Kod:
    Dim i As Long
 
    Application.MoveAfterReturnDirection = xlToRight
    Sheets("Al.Çek").Select
    i = Cells(Rows.Count, "C").End(3).Row
    Range("C" & i).Select
 
End Sub

Veri girişinin sıralı yazdırılacağı varsayımına dayanarak C sütununa veri girildiğinde B sütununa sıra numarası yazacaktır. Kodlar ilgili sayfanın kod bölümünde olmalı.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
 
    If Intersect(Target, [C:C]) Is Nothing Or Target.Row < 3 Then Exit Sub
 
    If Not Target.Value = "" Then
        Target.Offset(0, -1) = Target.Row - 2
    Else
        Target.Offset(0, -1) = ""
    End If
 
Son:
End Sub

Aşağıdaki kod yine ilgili sayfanın kod bölümünde olmalı ve F sütunundan sonra seçilen hücreden sonra 1 alt satır ve C sütununa geçilir.

Her seferinde girilecek noktaya gelmek için uğraşmamak amaçlı yapıldı.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Target.Row < 3 Then Exit Sub
    If Target.Column > 6 Then Range("C" & Target.Row + 1).Activate
 
End Sub

Satır silindiğinde tekrar sıra numarası vermek için sayfada herhangi bir hücreye çift tıklamaya bağlı kodlar verildi. Bu kodlar da ilgili sayfanın kod bölümünde olmalı.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim i As Long
 
    i = Cells(Rows.Count, "C").End(3).Row
    Application.ScreenUpdating = False
 
    Range("B3") = 1
    Range("B3:B" & i).DataSeries
    Application.ScreenUpdating = True
 
End Sub
 

Ekli dosyalar

Necdet bey, tek kelime ile harika olmuş. Çok çok teşekkür ederim.
Sizi beki de uğraştırdım ama kusura bakmayın kaç çeşit kod böylece öğrenmiş oldum. Benim gibi birçok arkadaşa da yardımcı olacaktır.
Hangi kodun ne işe yaradığını da yazmışsınız bu çok harika,
Ellerinize sağlık

Birde sizden daha önceki yazmış olduğum bir kod da düzeltme yapabilirmisiniz.
Telefon firhisti bu dosyanın hatalarını düzelttikten sonra foruma örnek programlar olarak koyabilirmisiniz?

>> Link atamıyorum bu konunun altına devam edebilirim>>
Teşekkürler
 
Geri
Üst