Excelde Auto İncrement Number

1 2 3 4 5 6 7
13/01/2020, 18:22

feraz

Merhaba.

Eğer kayıt ekleme için ise şöyle olabilir bence.
Yardımcı bir sayfanın A sütununada kaydetme dırasında idno gibi numara kaydedilir.Sonra kaydetme işleminde bu sütundaki veriler excelin find  komutuyla kontrol edilir.Aynısı vs.. varsa ona göre en büyüğün +1 değeri eklenir kaydetmede.
Başka türlü bildiğim Excel hafızada tutmaz Excel dosyası kapanıp açılmada.
14/01/2020, 00:12

accessman

(13/01/2020, 18:22)feraz yazdı: Merhaba.

Eğer kayıt ekleme için ise şöyle olabilir bence.
Yardımcı bir sayfanın A sütununada kaydetme dırasında idno gibi numara kaydedilir.Sonra kaydetme işleminde bu sütundaki veriler excelin find  komutuyla kontrol edilir.Aynısı vs.. varsa ona göre en büyüğün +1 değeri eklenir kaydetmede.
Başka türlü bildiğim Excel hafızada tutmaz Excel dosyası kapanıp açılmada.
Evet haklısınız
14/01/2020, 00:25

feraz

(14/01/2020, 00:12)accessman yazdı:
(13/01/2020, 18:22)feraz yazdı: Merhaba.

Eğer kayıt ekleme için ise şöyle olabilir bence.
Yardımcı bir sayfanın A sütununada kaydetme dırasında idno gibi numara kaydedilir.Sonra kaydetme işleminde bu sütundaki veriler excelin find  komutuyla kontrol edilir.Aynısı vs.. varsa ona göre en büyüğün +1 değeri eklenir kaydetmede.
Başka türlü bildiğim Excel hafızada tutmaz Excel dosyası kapanıp açılmada.
Evet haklısınız

Örnek dosya yüklerseniz bakabiliriz.
14/01/2020, 01:20

berduş

Yalniz 10. mesajımdaki dosyada yapmanız gereken tek şey  onlarin kullandigi yontem yerine belirleyeceginiz sabit bir hücrenin değerini +1 ile değiştirip id yerine o değeri yazmak. Sorun nerede onu anlamıyorum sayin @accessman
14/01/2020, 08:09

accessman

bence en güzeli ilgili data sayfasının ismini son kayıt no ile sürekli güncellemek mesela
ürünler_755 şeklinde son id no sayfa adında kalır
eklendikçe 756,758..... şeklinde sürekli her eklemede değişir
eğer sayfa adını herhangi bir kodda kullanmak gerekirse
split fonksiyonu ile "_" karakterine göre "0" indexe sahip string yani "ürünler" kelimesini kullanmış oluruz
hiç eksilmeyen sürekli artan üstelik hiç tekrara düşmeyen kapatınca kaybolmayan bir 
Auto İncrement Number
elde etmiş oluruz
14/01/2020, 09:10

accessman

modüle şöyle bir kod eklesek

Function renameSheet(lastSheetName As String, lastId As Integer, Optional ayrac As String = "_") As String
    Dim realSheetName As String
    Dim newSheetName As String
    Dim lastUnderlineIndex As Integer
   
    If (InStrRev(lastSheetName, ayrac) > 0) Then
        lastUnderlineIndex = InStrRev(lastSheetName, ayrac)
        realSheetName = Left(lastSheetName, lastUnderlineIndex - 1)
        newSheetName = realSheetName & ayrac & lastId
    Else
        newSheetName = lastSheetName & ayrac & lastId
    End If
   
    renameSheet = newSheetName
   
End Function


sonra bunu istediğimiz yerden


Dim Ws As Worksheet
Set Ws = Worksheets("Sayfa1")
Ws.Name = renameSheet("Sayfa1", 30, "_")


şeklinde çağırsak nasıl olur
1 2 3 4 5 6 7