• DİKKAT

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

tarihe göre otomatik numara

Katılım
11 Aralık 2004
Mesajlar
419
Excel Vers. ve Dili
Ms Office Pro Plus 2019
Arkadaşlar uğraşıp da bir türlü çözemediğim 2 tane sorunum var. Yardımcı olursanız sevinirim.
1- Ekte sunduğum dosyadaki form üzerinde ekle butonu ile textboxlardaki verileri VERİLER sayfasına aktarabiliyorum. Burada hiç bir sorun yok. Ama eklediğim verilreden tarih alanı istediğim formatta excel sayfasına kaydedilmesine rağmen bu veriyi süz ve ara konutlarında bir türlü kullanamıyorum . Exceli açıp hücre üzerine çift tıklayıp hücre içerisine müdahale etmeden çıktığımda veriyi hem süz koutunda hem de arama komutunda kullanabiliyorum. Yani sanırım format fonksiyonunda eksik yaptığım bir şey var.
2- Her tarihe 1 numara vermem gerekiyor. yani aynı tarihte kaç kayıt olursa olsun hepsinin kayıt sıra numarası aynı olacak. Yeni br tarih için kayıt açıldığında otomatik olarak bir sonraki kayıt numarası verecek çekilde bir numaralama sistemi yapmak istiyorum. veri süzerek benzersiz kayıtları bulup son numarayı tespit edip ilgili tairihe ait numaraya göre işlem yaptırmaya çalıştım fakat bir türlü sonuca ulaşamadım.
Mümkün olduğunca kısa yazmaya çalıştım. umarım sorunumu anlatabilmişimdir. form üzerinden daha kolay anlaşılacağını sanıyorum. Yardımlarınız için teşekkürler...
 

Ekli dosyalar

Son düzenleme:
Merhaba,
soru 1 yanıtı:
datevalue kullanın
Kod:
Sheets("veriler").Cells(Satir, 4) = DateValue(Format(tarihi, "dd/mm/yyyy")
soru2 yanıtı:
sıranumarası ver butonu için

Kod:
Private Sub CommandButton8_Click()
Set bul = Sheets("veriler").Range("d2:d65000").Find(tarihi.Text)
If Not bul Is Nothing Then
formsirano.Text = Sheets("veriler").Cells(bul.Row, 1).Value
Else
formsirano.Text = WorksheetFunction.Max(Sheets("veriler").Range("a2:a65000")) + 1
End If
End Sub
iyi çalışmalar.
 
sayın hocam öncelikle ilgin için teşekkürler. verdiğiniz her 2 cevaptan sorunumu anladığınızı anladım. fakat verdiğiniz her 2 cevap her nedense benim istediğim işi yapmadı. 1 sorunun cevabını Copy/Paste ile ilgili yere yapıştırmama rağmen çalışma sırası geldiğinde hata veriyor ve ve duruyor. hata ile ilgili bir açıklama yok.
2. cevapta ise codlara bakılırsa bir işi çözecek gibi oluyor ama her seferinde max değer+1 değerini veriyor. yani enson verilen değer 6 ise hangi tarihi sorgularsam sorgulayım hep en son verdiğim değerden 1 fazlasını veriyor.
 
1.sorun datevalue içine aldınızmı o kutuyu boş atlayamazsınız yada o satırın önüne
on error resume next
satırını ekleyin hata veren satırı atlayacaktır.
2. sorunda daha önce girilmiş tarih varsa o tarihin kayıt nosunu giriyor eğer yoksa sütundaki en yüksek değer +1 olarak mantık yürüttüm böylece hergün için farklı numara verecek.sizin numaralandırmayla ilgili isteginiz nasıl?
 
1.sorun datevalue içine aldınızmı o kutuyu boş atlayamazsınız yada o satırın önüne
on error resume next
satırını ekleyin hata veren satırı atlayacaktır.
2. sorunda daha önce girilmiş tarih varsa o tarihin kayıt nosunu giriyor eğer yoksa sütundaki en yüksek değer +1 olarak mantık yürüttüm böylece hergün için farklı numara verecek.sizin numaralandırmayla ilgili isteginiz nasıl?

hocam isteklerim tam olarak yaptığınız şekilde.
1.cevaptaki hata son parantez kapanmamıştı. :) kapatıp on error resume next ekleyince o sorun halloldu. fakat formatı yine el ile girdiğim şekilde değil. hücre içersine çift tıklayıp çıktıktan sonra istediğim formata geliyor.
2. cevaptaki hata ise her iki sorunun hatası gibi, yani tek hata iki cevabında hatası oluyor. yani sorun dönüp dolaşıp yine formata dayanıyor. daha önceki tarihleri elle girmiştim.
form ile gönderdiklerim (hem benim yaptığım şekilde hem de tavsiyeniz üzerine eklediğim şekilde) el ile girdiklerimden farklı geliyor. Bütün verileri bir daha girmek zor olacak o yüzden çözüm arıyorum. Ekli dosyayı güncelledim. Aradaki fark oraya bakınca anlaşılır. ilginiz için teşekkürler...
 
kodlarda verdigim kodu eklemişsiniz ancak eskisini silmemişsiniz kodlar satır sırasıyla işledigi için değişen bir şey olmamış.kırmızı satır duruyor.
Sheets("veriler").Cells(Satir, 4) = DateValue(Format(tarihi, "dd/mm/yyyy"))
Sheets("veriler").Cells(Satir, 4) = Format(tarihi, "dd/mm/yyyy")
aynı satıra iki giriş oluyor ikincisi (eskisi)son oldugu için yazgıgımız kod işe yaramıyor.kırmızı satırı silin.

D sütünunda daha önce girilmiş daha fazla tarih formatı vardır diye düzelt butonuda ekledim kodları sayfanın kod bölümünde,
 

Ekli dosyalar

Son düzenleme:
hocam ilgin için teşekkürler. kodu eklerken eski kodu devre dışı bırakmak için ötekinin başına kesme işareti eklediğimi sanmıştım. bu ayrıntıyı nasıl kaçırdım bilmiyorum. teşekkür ederim.işimi gördü
 
Geri
Üst