Hatırlatma programı foruma eklenmiştir.
http://www.excelce.net/forum/index.php?topic=1661.0

Gönderen Konu: [Çözüldü] Makro ile sıra no verme işlemi  (Okunma sayısı 8037 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
[Çözüldü] Makro ile sıra no verme işlemi
« : 14 Kasım 2010, 17:08:21 »
Merhaba Arkadaşlar,

Veri yönetimi sayfasında B sütununa 5. satırdan itibaren tarihler girdiğimde
A sütununda ilgili satırlara sıra no vermesini sağlayabilirmiyiz.

Formül ile yapılabilecek bir işlem ancak, formülü aşağı satırlara doğru uygulattıkça tablo boyutu çok yükseliyor. Tam kaç satıra uygulatmam gerektiğide belli değil.

Kod: [Seç]
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B6:B65536")) Is Nothing Then Exit Sub
    If Target <> "" Then
        Cells(Target.Row, "A") = WorksheetFunction.Max(Range("A5:A" & Target.Row - 1)) + 1
    Else
        Cells(Target.Row, "A") = ""
    End If
End Sub

işlemi bu kodlar ile çözmeye çalıştım ancak, tabloya uyarlamada sorun yaşadım. Tabloda düşeyara ve çarpma makrolarıda var.

Yardım ve fikirlerinizi bekliyorum.



[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]
« Son Düzenleme: 13 Aralık 2010, 16:30:26 Gönderen: Bülent Öztürk »

Çevrimdışı Rami

  • Excelce Onbaşı
  • **
  • İleti: 64
  • Puan +1/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Kamil
  • İl / İlçe: Sivas
  • Mesleğiniz: İnşaat
Ynt: Makro ile sıra no verme işlemi
« Yanıtla #1 : 17 Kasım 2010, 17:56:18 »
Merhaba

Kodlarınızı aşağıdaki gibi deneyin.
Kod: [Seç]
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("B6:B65536")) Is Nothing Then GoTo ff
    If Target <> "" Then
        Cells(Target.Row, "A") = WorksheetFunction.Max(Range("A5:A" & Target.Row - 1)) + 1
    Else
        Cells(Target.Row, "A") = ""
    End If
ff:
        If Not Intersect(Target, Range("E6:E65536")) Is Nothing Then
    On Error Resume Next
        If Target = "" Then Exit Sub
        If WorksheetFunction.CountIf(Sheets("hesap planı").Range("B:B"), Cells(Target.Row, "E")) > 0 Then
            Cells(Target.Row, "F") = WorksheetFunction.VLookup(Cells(Target.Row, "E"), Sheets("hesap planı").Range("B:c"), 2, 0)
            Else
        End If
         If WorksheetFunction.CountIf(Sheets("hesap planı").Range("B:B"), Cells(Target.Row, "E")) > 0 Then
            Cells(Target.Row, "G") = WorksheetFunction.VLookup(Cells(Target.Row, "E"), Sheets("hesap planı").Range("B:D"), 3, 0)
            Else
            'Cells(Target.Row, "E") = ""
            MsgBox " Girdiğiniz Hesap Kodu Hesap Planında Bulunamadı !", vbCritical
        End If
     End If
    If Intersect(Target, Range("D6:D65536,H6:I65536")) Is Nothing Then Exit Sub
    If UCase(Cells(Target.Row, "D")) = "B" Then
        Cells(Target.Row, "J") = Cells(Target.Row, "H") * Cells(Target.Row, "I")
        Cells(Target.Row, "K").ClearContents
    ElseIf UCase(Cells(Target.Row, "D")) = "A" Then
        Cells(Target.Row, "K") = Cells(Target.Row, "H") * Cells(Target.Row, "I")
        Cells(Target.Row, "J").ClearContents
    Else
        MsgBox "Lütfen kayıt türü bilgisini giriniz !", vbCritical
    End If
End Sub

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Makro ile sıra no verme işlemi
« Yanıtla #2 : 18 Kasım 2010, 21:02:41 »
Sy Rami, çok teşekkürkler. Tam istediğim gibi olmuş sorunsuz çalışıyor.  :alkis
Emeğinize sağlık.   :yihu