Hey there!

It looks like you're enjoying Hesaptablosu - Akademik Excel Forumu but haven't created an account yet. Why not take a minute to register for your own free account now? As a member you get free access to all of our forums and posts plus the ability to post your own messages, communicate directly with other members and much more. Register now!

Already a member? Login at the top of this page to stop seeing this message.

Toplam 12 sonuçtan 1 ile 12 arasındakiler gösteriliyor.

Konu: Makroda Yardım

  1. #1
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59

    Makroda Yardım

    Yapmak istediğim şey şu VERİTABANI sayfasın da B sütununa veriler girdikçe A5 hücresinden başlamak üzere sicil numaraları 1,2,3.... gidecek, VERİTABANI sayfasında G sütununa herhangi bir tarih değeri girildiğinde o satırı silip sicil numarasına göre ARŞİV sayfasına atılıyor VERİTABANI sayfasında yeni sicil verirken ARŞİV sayfasındaki sicil numaralarının en büyüğüne göre, yani 5 ise 6 .. vs gibi sicillendirme yapması gerek. Gönderdiğim örnekte bunu yapıyor fakat çalışma sayfasını kapatıp açtığımda tekrar 1'den başlıyor. Bu sorunu giderme hususunda yardımlarınıza ihtiyacım var.

    http://s2.dosya.tc/server/gpr080/Yen...r__2_.rar.html

  2. #2
    Kıdemli Üye
    Üyelik tarihi
    Aug 2008
    Nereden
    Konya
    Versiyon
    Excel 2010 TR
    Mesajlar
    263
    sayfa 1 veritabanı içerisendeki kodların en başına
    Kod:
    Dim bBuYuk As Double
    ekleyiniz.
    aşağıdaki bölümü siliniz
    Kod:
    If Target.Column = 2 Then
      Set ara = Range("a5" & ":a" & Target.Offset(-1, 0).Row).Find(What:=Target, LookIn:=xlValues, LookAt:=xlPart)
      If ara Is Nothing Then
    a = a + 1
    Target.Offset(0, -1) = a
    Else
    'NO NO NO
    End If
    End If
    sildiğiniz bölüme aşağıdaki kodları ekleyiniz. istediğniz numaralandırma işlemini yapacaktır.
    Kod:
    If Target.Column = 2 Then
        bBuYuk = WorksheetFunction.Max(Columns(1))
        bBuYuk = bBuYuk + 1
    Target.Offset(0, -1) = bBuYuk
    
    End If

  3. #3
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59
    Taner Bey ilginize çok teşekkür ederim. Gönderdiğiniz cevapları uyguladım fakat şu hususta yardımınız ihtiyacım var VERİTABANI sayfasına verilen siciller tekrar verilmemek kaydıyla, VERİTABANI sayfasında G sütununa herhangi bir tarih değeri girildiğinde o satırı silip sicil numarasına göre ARŞİV sayfasına atılıyor VERİTABANI 20,21,22...vs gidecek , 25 i arşive gönderdik ARŞİV en büyük 25 olduğundan VERİTABANI 26,27,28...vs gidecek.
    Konu ARS80 tarafından (20.06.2016 Saat 13:31 ) değiştirilmiştir.

  4. #4
    Kıdemli Üye
    Üyelik tarihi
    Aug 2008
    Nereden
    Konya
    Versiyon
    Excel 2010 TR
    Mesajlar
    263
    Kod:
    Dim bBuYuk As Double
    Dim bBuyuk2 As Double
    alt taraf ise
    Kod:
    If Target.Column = 2 Then
        bBuYuk = WorksheetFunction.Max(Columns(1))
        bBuyuk2 = WorksheetFunction.Max(Sheets(2).Columns(1))
        If bBuyuk2 > bBuYuk Then bBuYuk = bBuyuk2
        bBuYuk = bBuYuk + 1
    Target.Offset(0, -1) = bBuYuk
    
    End If
    bu şekilde yaparsanız sorun çözülecektir.
    yalnız bu şekilde sayfa olayları ve satır silmelerle veritabanı tutmak sakıncalıdır. satırı silmek yerine veritabanına bir sütün daha açıp çıkış tarihi olanları arşiv yazdırıp süzmeniz yada gizlemeniz daha mantıklı gibime geliyor. Kolay Gelsin.

  5. #5
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59
    Taner bey ayırdığınız zaman ve harcadığınız emek için çok teşekkürler
    Konu ARS80 tarafından (21.06.2016 Saat 13:53 ) değiştirilmiştir.

  6. #6
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59
    Arkadaşlar yapmak istediğim şey şu VERİTABANI sayfasında B5 hücresinden başlamak üzere veriler girdikçe A5 hücresinden başlamak üzere sicil numaraları 1,2,3.... gidecek, VERİTABANI sayfasında G sütununa herhangi bir tarih değeri girildiğinde o satırı silip sicil numarasına göre ARŞİV sayfasına atılıyor VERİTABANI sayfasında yeni sicil verirken ARŞİV sayfasındaki sicil numaralarının en büyüğüne göre, yani 5 ise 6 .. vs gibi sicillendirme yapması gerek. Gönderdiğim örnekte bunu yapıyor fakat A1 hücresinden başlıyor. Bu sorunu giderecek şekilde kodlarda revize hususunda yardımlarınıza ihtiyacım var.


    http://www.dosya.tc/server10/btp021/...OZCAN.rar.html
    Konu ARS80 tarafından (13.11.2017 Saat 18:31 ) değiştirilmiştir.

  7. #7
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59
    Arkadaşlar yardımlarınızı bekliyorum.

  8. #8
    Yeni Üye
    Üyelik tarihi
    Dec 2017
    Mesajlar
    26
    Veritabanı adlı sayfanıza ait kodlarda ilgili kodun belirttiğim satırlarını değiştirmeniz kafi gelecektir. Yada aşağıdaki kodu ilgili olaya ait kodun olduğu bölümle komple değiştirin.

    Kod:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Static a As Integer
    Application.ScreenUpdating = False
         
    If Not Intersect(Target, Range("Q:Q")) Is Nothing And Target.Cells.Count = 1 Then
        Dim değer(6)
        If Len(Target) = 26 And Left(Target, 2) = "TR" Then
            For a = 1 To 26 Step 4
                değer(b) = Mid(Target, a, 4)
                b = b + 1
            Next
            Target = Join(değer, " ")
        End If
    End If
    If Target.Column = 2 Then
        '..........................
        ' Bu kısımda ufak bi değişiklik yapacaksınız
        bBuYuk = WorksheetFunction.Max(Range("A5:A" & Cells(5, 1).End(xlDown).Row))
        bBuyuk2 = WorksheetFunction.Max(Sheets(2).Range("A5:A" & Sheets(2).Cells(5, 1).End(xlDown).Row))
        '...........................................
        If bBuyuk2 > bBuYuk Then bBuYuk = bBuyuk2
        bBuYuk = bBuYuk + 1
    Target.Offset(0, -1) = bBuYuk
    
    End If
    If (Intersect(Target, Range("G5:G65536")) Is Nothing) Or Hedef_Satir = Target.Row Then
        Hedef_Satir = 0
        Exit Sub
    End If
    
    Hedef_Satir = Target.Row
    Kayit_Sil (Hedef_Satir)
    Application.ScreenUpdating = True
    
    End Sub
    
    Private Sub Worksheet_Deactivate()
            Application.CommandBars("Cell").Reset
    End Sub

  9. #9
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59
    Sayın NextLevel ilginize teşekkür ederim. yapmak istediğim şey A1, A2, A3, A4 ile B1, B2, B3, B4 satırları kullanılmayacak ve B sütunundaki hücrelere girilip çıkıldığında değil de veri girildiğinde A sütunundaki hücrelerde numara verilmesini sağlayacak şekilde kodları düzeltmek istiyorum. Sizin gönderdiğiniz düzeltmeleri yaptığımda örneğin B1 hücresinde bir değişiklik olduğunda A1 hücresi değişiyor.
    Konu ARS80 tarafından (25.01.2018 Saat 15:22 ) değiştirilmiştir.

  10. #10
    Yeni Üye
    Üyelik tarihi
    Dec 2017
    Mesajlar
    26
    Merhaba,
    1.Dosyanızı silmiştim, linkinizden de silinmiş.
    2.Girerken yada çıkarken çalışması çok sorun oluyor mu?

  11. #11
    Üye
    Üyelik tarihi
    May 2016
    Mesajlar
    59

  12. #12
    Üye
    Üyelik tarihi
    Mar 2011
    Nereden
    İstanbul
    Versiyon
    Excel 2010 Türkçe
    Mesajlar
    95
    Sayın ARS80 bende sizin gibi benzer bir dosya tutuyorum. Sicil noyu bir sayfadaki bir hücreye yazdırıyorum yeni kayıt yapacağım zaman sicil no en son numarayı gidip o hücreden alıyor ve üstüne 1 ekleyerek yeni numarayı oluşturmuş oluyor arada silmiş olduğunuz kayıtlar olsada sizin en son sicil numaranız o hücrede değişmediği için yeni kayıtta kaldığı yerden devam ediyor bence böyle bir yöntemle olayı daha rahat çözersiniz tabii ki olayı doğru anladıysam.

Konu Bilgisi

Users Browsing this Thread

Şu anda 1 üyemiz bu konuya göz atıyor. (0 kayıtlı üye ve 1 misafir.)

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •