Otomatik satır eklemek, silmek vs mümkün müdür?

Excel hakkındaki soru ya da paylaşımlarınıza kategori bulamadıysanız bu alana yazabilirsiniz.

Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#1)  husopa » 30 Haz 2020 08:09

Merhaba,
Bir çalışma sayfasında Sayfa1, Sayfa2, Sayfa3, Sayfa4 diye Sayfa21 e kadar sayfalarım var ve Sayfa2 den itibaren 21 e kadar her sayfada 10 satır veri var.
Her sayfanın sütunları aynı ve ben bu sayfa2 den sayfa21 e kadar olan toplam 200 satır ı sayfa 1 de otomatik konsolide etmek yani birleştirmek istiyorum istiyirum.

Sorum şu:
Sayfa6 sayfasındaki 3.satır Sayfa1 de 53.satıra denk geliyor.
Ben sayfa6 da 3.satır ile 4.satı arasına yeni bir satır eklediğimde ya da çıkardığımda Sayfa1 de 53. Satır ile 54. Satır arasına eklenmesini ya da silinmesini sağlayabilir miyim?
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#2)  Miraç CAN » 30 Haz 2020 08:55

Sheets("Sayfa6").Rows(4).Insert
Sheets("Sayfa1").Rows(54).Insert

Gibi mi..?
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#3)  husopa » 01 Tem 2020 14:02

benzer ama ilk sayfaya hep otomatik eklenebilir mi? ben diğer sayfalarda eklediğimde hangi iki satır arasına eklediğimi otomatik algılayacak şekilde.

Örnek bir görünüm dosyası ekleyeyim.
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#4)  husopa » 01 Tem 2020 14:04

ekli dosya : Questions1
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#5)  Miraç CAN » 01 Tem 2020 18:14

"BuÇalışmaKitabı" kod sayfasına ekleyip deneyin:
Kod: Tümünü seç
Dim RwsCount&, SChange As Boolean
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
RwsCount = Range("A" & Rows.Count).End(3).Row
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim RwsIns&
If SChange Then Exit Sub
If Sh.Name Like "Consolidate" Or Intersect(Target, ActiveSheet.Range("A:A")) Is Nothing Then Exit Sub
If Application.CountBlank(Range("A1:A" & RwsCount)) > 0 Then
    SChange = True
    RwsCount = Range("A" & Rows.Count).End(3).Row
    On Error Resume Next
    RwsIns = Application.Match(ActiveSheet.Cells(Range("A1").End(4).Row, 1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
    If Err Then MsgBox "Veri bulunamadı...", vbOKOnly + vbInformation, "UYARI": SChange = False: Exit Sub
    Worksheets("Consolidate").Rows(RwsIns).EntireRow.Insert: SChange = False
End If
End Sub

Ve "Makro İçerebilen" olarak kaydedin.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#6)  husopa » 01 Tem 2020 20:45

Miraç hocam öncelikle vakit ayırıp uğraştığınız, emeğiniz için teşekkür ederim.
Denedim. Ekleme konusunda gayet güzel elinize sağlık fakat
> eklediğim satırı sildiğimde consolidate sayfasına ikinci bir satır ekliyor.
> hiç satır eklemeden doğrudan var olan bir satırı sildiğimde ise consolidate sayfasında silmiyor.
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#7)  Miraç CAN » 02 Tem 2020 07:29

Sadece satır eklemeye örnekti bu kodlar.
Satırı silmiyor, içeriğini temizliyorsunuzdur. işlem mantığına göre, içeriği temizlerseniz, yeni satır eklendiğini var sayar, öyle kurdum çünkü. Çok deneme fırsatı bulamadım ama, satır/hücre sil dediğinizde ekleme yapmaması lazım.
Silme işlemi de tersi mantık kurarak, ekle yerine sil yapmak gerek.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#8)  husopa » 02 Tem 2020 10:30

Hocam kodlarınızı denedim, ilgili video paylaşıyorum.

https://streamable.com/9ir6d1
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#9)  Miraç CAN » 02 Tem 2020 13:22

Ekleme kısmında gözden kaçan bir nokta olmuş,
If SChange Then Exit Sub satırını;
If SChange Or RwsCount > Range("A" & Rows.Count).End(3).Row Then Exit Sub
bu satırla değiştirmeniz ekleme kurgusunda ki sorununu çözecektir.
Çoklu ekleme ve silme hakkında daha detaylı, hatta örnekleyerek bilgi verirseniz, yardımcı olmaya çalışayım vakit buldukça.
Sıralı çoklu satır eklemeniz mevcut yordam üzerinde, değişiklikle kolayca çözülür fakat ardışık olmayan (2 ve 4. satır gibi) eklemeler de yapacaksanız kurguyu tamamen değiştirmek gerekir.

Ya da her koşulda "Ara satırlara" ekleme/silme yaptığım da ilk sayfada da aynı işlemi yapsın diyorsanız, vakit bulduğum en kısa zamanda paylaşırım.

Aklıma gelen bir kaç detay olarak:
Mesela; ara satır eklendi, boş hücreler dolduruldu, aynı şekilde ilk sayfaya da bu bilgiler eklensin mi?
Son satıra yeni veri girişi yapıldığında ilk sayfaya da eklensin mi?
Son satır silindiğinde ilk sayfadan da silinsin mi?
Silinen satır ilk sayfada yoksa ne olacak?
Yeni eklenen satır ilk sayfada yoksa ne olacak?
Gibi ...
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#10)  husopa » 03 Tem 2020 11:44

0 -"Ya da her koşulda "Ara satırlara" ekleme/silme yaptığım da ilk sayfada da aynı işlemi yapsın diyorsanız, vakit bulduğum en kısa zamanda paylaşırım.

Aklıma gelen bir kaç detay olarak:
1 -Mesela; ara satır eklendi, boş hücreler dolduruldu, aynı şekilde ilk sayfaya da bu bilgiler eklensin mi?
2- Son satıra yeni veri girişi yapıldığında ilk sayfaya da eklensin mi?
3- Son satır silindiğinde ilk sayfadan da silinsin mi?
4- Silinen satır ilk sayfada yoksa ne olacak?
5- Yeni eklenen satır ilk sayfada yoksa ne olacak?
Gibi ..."


Hocam öncelikler ayırdığınız vakit ve emek için tekrar teşekkür ederim.
Konu tam olarak şu TSE, KYS de master doküman listesi görmek istiyor. Biz ise revizyonları ilgili birimin sekmesinde güncelliyoruz. Master Doküman Listesine (Consolidate) bir müdahalemiz yok sadece alt alta sıralı şekilde çıktı ya da pdf alıyoruz.

4- 5- Dolayısıyla birim sekmelerinde olup da ilk sayfada olmayan veri olmayacak çünkü sizin yazdığınız kodlarınızı işleme almadan önce bu durumu kontrol edeceğim. Tüm satırlar ilk sayfada bire bir olduğu an sizin kodunuzu işleme alacağım.
0- Tam olarak istediğimdir :mrgreen:
1- Evet
2- Evet (ama tabi yine ilk sayfada --> '"diğer listeyle" ' 'sonuna yeni satır eklenen listenin' ara satırına girmiş olacak sanırım değil mi?)
3- Evet

*Ard arda ya da satır atlayarak sıralı, çoklu satır eklemeyeceğim veya silmeyeceğim. Birden fazla olsa bile tek tek yaparım bu işlemi sorun değil.

ve son olarak;
Bu tarz bir düşünceyi excel de fiiliyata dönüştürebilmenin yolu, sizde nerelerden geçti hocam?
Düşüncelerimi excel'e yansıtabilmek için "yapılması gerekenler" önerilerinizi de beklemekteyim. [ilginc] Yani balık tutmayı da nasıl öğreneceğim hakkında yorumlarınızı rica edebilir miyim?
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#11)  Miraç CAN » 03 Tem 2020 14:46

Dün biraz kurcalama fırsatı bulup biraz yol kat etmiştim, sabah eklemeyi düşünüyordum ama unutmuşum.
Ben peşinen, çoklu ardışık ve ardışık olmayan seçimlerde, ekleme/silme olayını yapmıştım.
Bulunamadığında da sadece uyarı ve bilgi mesajı veriyor. İsteğe göre güncelleriz demiştim ama gerek yokmuş anlaşılan.
Yine de yapının böyle kalması daha iyi, belki farkında olmadan ya da gözden kaçan bir şeyle karşılaşılır.
Her koşulda ekleme/silme aktif. Belirttiğiniz diğer kriterleri dahil edip, en kısa zamanda paylaşacağım.

Özel sorunuza gelince: Tüm bunları yazmak bile forum amacına uymuyor ama ilgili ve yetkili arkadaşlar bu seferlik mazur görürler umarım.
Öncelikle "balık tutma" gayesi içinde olduğunuzdan dolayı ziyadesiyle memnun oldum, tebrik ederim. Burası bir yardımlaşma platformu, öyle sipariş talepleri etik bulmuyor ve haz etmiyorum. En önemlisi ve insanların göz ardı ettiği, içeriğini bilmediğiniz bir yordam kullanırsanız, işlemde hata yaptınız mı/nerde yaptınız farkına bile varmazsınız. İyilik, yardım, birden kötülüğe, zarara dönüşür.

İşlerimin çok yoğunlaştığı, çok sıkıştığım zamanlarda, ıvır-zıvır olarak tabir ettiğim, mesleğimin angaryaları olarak nitelendirilen yüklerden kurtulmak ve kolaylaştırmak için denemeye başladım. Daha sonra da rutin işlerimde yaptığım işleri, bir nevi otomatikleştirdim. Baktım oluyor, heryerde kullanmaya başladım, mühendislik hesaplamaları, nivelman, poligon/rasat hesaplamaları vs. Artık zaman alan ne varsa VBA'da bunu nasıl yapabilirim diye düşünmeye başladım :)
Excel bir program. Yazılımları dahilince işlemler yapıyor. Excel bunu nasıl yapıyor? Hangi komut/kodlarla?
Çünkü Excel kullanılarak yapılabiliyorsa, ben de bunu VBA ile Excele yaptırabilirim ;)

Forumda açtığım ilk konulardan biri; VlookUp sonuç bulamadığında hata verir, bulunamadı demektir. Ve hatayı ayıklayamamıştım, kodlar takılıp kalıyor, işlemi bitiremiyordu. Sadece Err.Clear yazmak gerekiyormuş, hata denetimlerini inceleyerek, deneyerek buldum. Geçmişte açtığım, hala yanıtsız konularım bile var :)

Mevcutta bir parça QBasic bilgime, daha da çok mantığından yola çıkarak; merak, bi parça ingilizce, araştırma ve keşfetme ruhu yeterli oldu bana.

Komutları, fonksiyonları araştırıp çalışma mantığını anlamaya başladığınızda çorap sökülmeye başlıyor ve gerisi geliyor.
Sonra yapılmış örnek yapıları bulup, çözüp, isteğinize göre şekillendirebiliyorsunuz.
Fikrimce, üzerinde durmanızda fayda gördüğüm ise, komut/fonksiyonların tüm özellikleri araştırın, altından neler çıkıyor neler :)
Elimizin altınca koskoca Google var nasılsa. Ve tavsiyem, VBA kod penceresinde "Immediate", "Locals" pencerelerini açık tutun. "Wiev" sekmesinde.
Komut ve değişkenlerinizi keşfetmenize, yapılarını görmeye/anlamaya çok yardımı olacaktır. Tabi "Immediate" penceresi Debug.Print ve Debug.Assert komutu olmadan bir işe yaramaz :)
Hata arama ve ayıklama yaparken de "Watches" penceresi ve "Add Watch" iletişim kutusu, özellikle döngülerde. İstediğiniz koşul sağlayınca sizi o satırda bekliyor.

Değişken tipleri (Long, Integer, Variant vs.), diziler (Array, Scripting.Dictionary, ArrayList, Collection), döngüler (For/Next, For Each, Do Loop).
For/Next ile hemen herşey çözülebilir fakat diğerleri daha kısa/pratik olabiliyor ve bana Array ve ArrayList herşey için yetiyor.
Bunları çözün, gerisinin çoğu şunu yap/bunu yap/diğerini yapma komutları.

Burada bu işlerin üstadları var, temelinden, cümlenin noktasına kadar neyin ne olduğunu bilen.
Ben meraklı bir amatör olarak başlayan, kendini bir nebze geliştiren ve buna devam eden, fayda gördüğüm/bulduğum bir mecrada, aldığım yardımlar gibi, bilgim ve vaktim dahilince yardımcı olabilmek.
Bildiklerimi taze tutmak, yeni şeyler keşfetme heyecanı, kendini sınama. Nacizane, benden bu kadar.

Amma da çok yazmışım [ilginc]
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#12)  Miraç CAN » 04 Tem 2020 14:13

Çok fazla test etme imkanım olmadı,
Gözden kaçan detaylar olursa düzeltiriz tekrar,
Deneyin:
Kod: Tümünü seç
Dim RwsCount(1 To 3) As Variant, SChange As Boolean, Data As Variant
Private Sub Workbook_Open()
RwCount
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
RwCount
End Sub
Private Function RwCount()
Dim Rw%
For Rw = 1 To 3
RwsCount(Rw) = Range("A" & Rows.Count).Offset(0, Rw - 1).End(3).Row
Next Rw
Data = Application.Transpose(Range("A2:A" & RwsCount(1)))
End Function

Kod: Tümünü seç
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If SChange Or Sh.Name Like "Consolidate" Then Exit Sub
Dim CurRws&, DoIt&, ActRwsCount&, Pls&
Dim Temp, TempArr As Variant, Txt$
ActRwsCount = Range("A" & Rows.Count).End(3).Row
If RwsCount(1) = ActRwsCount And RwsCount(Target.Column) < ActRwsCount And _
    Not Intersect(Target, ActiveSheet.Range("A:C")) Is Nothing Then
    On Error Resume Next
    CurRws = Application.Match(Cells(Target.Row, 1).Text, Worksheets("Consolidate").Range("A:A"), 0)
    If Err Then
        Err.Clear
    Else
        SChange = True
        Worksheets("Consolidate").Cells(CurRws, 1).Resize(1, 3) _
            = Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Value
        SChange = False
    End If
End If
If RwsCount(1) = ActRwsCount Or Intersect(Target, ActiveSheet.Range("A:A")) Is Nothing Then Exit Sub
SChange = True
If RwsCount(1) > ActRwsCount Then
    For Temp = LBound(Data) To UBound(Data)
        If IsEmpty(Data(Temp)) Then
            Txt = Data(Temp - 1): Pls = 1
        Else
            TempArr = Filter(Application.Transpose(Range("A2:A" & ActRwsCount)), Temp, True, vbTextCompare)
            If UBound(TempArr) < 0 Then Txt = Data(Temp): Pls = 0 Else Txt = Empty
        End If
        If Not Txt = "" Then
            On Error Resume Next
            CurRws = Application.Match(Txt, Worksheets("Consolidate").Range("A:A"), 0) + Pls
            If Err Then
                MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & vbTab & Txt, vbOKOnly + vbInformation, "UYARI": Err.Clear
            Else
                Worksheets("Consolidate").Rows(CurRws).Delete: DoIt = DoIt + 1
            End If
        End If
        If DoIt = Abs(RwsCount(1) - ActRwsCount) Then Exit For
    Next Temp
Else
    If Application.CountBlank(Range("A2:A" & ActRwsCount)) = 0 Then
        On Error Resume Next
        CurRws = Application.Match(Target.Offset(-1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
        If Err Then
            MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & vbTab & Target.Offset(-1).Text _
                , vbOKOnly + vbInformation, "UYARI": Err.Clear
        Else
            Worksheets("Consolidate").Rows(CurRws).Insert
            Worksheets("Consolidate").Cells(CurRws, 1).Resize(1, 3) = Range(Target, Target.Offset(0, 2)).Value
        End If
    Else
        For Each Temp In Range("A2:A" & ActRwsCount)
            If Temp.Text = "" Or Temp.Text = Empty Then
                On Error Resume Next
                CurRws = Application.Match(Temp.Offset(-1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
                If Err Then
                    MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & vbTab & Temp.Offset(-1).Text _
                        , vbOKOnly + vbInformation, "UYARI": Err.Clear
                Else
                    Worksheets("Consolidate").Rows(CurRws).Insert: DoIt = DoIt + 1
                End If
                If DoIt = Abs(RwsCount(1) - ActRwsCount) Then Exit For
            End If
        Next Temp
    End If
End If
SChange = False: RwCount
Data = Application.Transpose(Range("A2:A" & RwsCount(1)))
End Sub
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#13)  Miraç CAN » 06 Tem 2020 14:36

Güncelleme:
Satır ekle/sil, değiştir/güncelle ve temizleme değişiklikleri, ilk sayfaya, eş zamanlı olarak uygulanır.
Kod: Tümünü seç
Dim RwsCount%, SChange As Boolean, Data As Variant
Private Function RwCount()
RwsCount = Range("A" & Rows.Count).End(3).Row
Data = Application.Transpose(Range("A2:A" & RwsCount))
End Function
Private Sub Workbook_Open()
If ActiveSheet.Name Like "Page*" Then RwCount
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name Like "Page*" Then RwCount
End Sub

Kod: Tümünü seç
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If SChange Or Not Sh.Name Like "Page*" Then Exit Sub
ActRwsCount = Range("A" & Rows.Count).End(3).Row: If ActRwsCount <= 2 Then Exit Sub
Dim CurRws&, DoIt&, ActRwsCount&, Pls&
Dim Temp, TempArr As Variant, Txt$
If RwsCount = ActRwsCount And Not Intersect(Target, ActiveSheet.Range("A2:C" & ActRwsCount)) Is Nothing Then
    On Error Resume Next
    CurRws = Application.Match(Cells(Target.Row - 1, 1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
    If Err Then
        Err.Clear
    Else
        SChange = True
        Worksheets("Consolidate").Cells(CurRws, 1).Resize(1, 3) _
            = Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Value
        SChange = False
    End If
End If
If RwsCount = ActRwsCount Then Exit Sub
SChange = True
If RwsCount > ActRwsCount Then
    For Temp = LBound(Data) To UBound(Data)
        If IsEmpty(Data(Temp)) Then
            Txt = Data(Temp - 1): Pls = 1
        Else
            TempArr = Filter(Application.Transpose(Range("A2:A" & ActRwsCount)), Data(Temp), True, vbTextCompare)
            If UBound(TempArr) < 0 Then Txt = Data(Temp): Pls = 0 Else Txt = Empty
        End If
        If Not Txt = "" Then
            On Error Resume Next
            CurRws = Application.Match(Txt, Worksheets("Consolidate").Range("A:A"), 0) + Pls
            If Err Then
                MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & Txt, vbOKOnly + vbInformation, "UYARI"
                DoIt = DoIt + 1: Err.Clear
            Else
                Worksheets("Consolidate").Rows(CurRws).Delete: DoIt = DoIt + 1
            End If
        End If
        If DoIt = Abs(RwsCount - ActRwsCount) Then Exit For
    Next Temp
Else
    If Application.CountBlank(Range("A2:A" & ActRwsCount)) = 0 Then
        On Error Resume Next
        CurRws = Application.Match(Cells(Target.Row - 1, 1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
        If Err Then
            MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & Cells(Target.Row - 1, 1).Text _
                , vbOKOnly + vbInformation, "UYARI": Err.Clear
        Else
            Worksheets("Consolidate").Rows(CurRws).Insert
                If Target.Row = ActRwsCount Then Worksheets("Consolidate").Cells(CurRws, 1).Resize(1, 3) = _
                    Range(Target, Target.Offset(0, 2)).Value
        End If
    Else
        For Each Temp In Range("A2:A" & ActRwsCount)
            If Temp.Text = "" Or Temp.Text = Empty Then
                On Error Resume Next
                CurRws = Application.Match(Temp.Offset(-1).Text, Worksheets("Consolidate").Range("A:A"), 0) + 1
                If Err Then
                    MsgBox "Veri bulunamadı..." & vbNewLine & vbNewLine & Temp.Offset(-1).Text _
                        , vbOKOnly + vbInformation, "UYARI"
                    DoIt = DoIt + 1: Err.Clear
                Else
                    Worksheets("Consolidate").Rows(CurRws).Insert: DoIt = DoIt + 1
                End If
                If DoIt = Abs(RwsCount - ActRwsCount) Then Exit For
            End If
        Next Temp
    End If
End If
SChange = False: RwCount
End Sub
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#14)  husopa » 07 Tem 2020 08:31

Yazdığınız yorum için çok teşekkür ederim. Yazdıklarınızdan çıkardığım kadarıyla sizin de bu seviyelere gelme sebebiniz halen geçerliliğini sürdüren bir sebep: Çaresizseniz, çare sizsiniz ilkesi :mrgreen: İşlerinizin sıkıştığı zamanlarda kolay bir çıkış yolu aramanız, yanıtsız kalan konularınız, sizi bu işi yapılabilir noktasına taşımış. Tabi benim şanssızlığım okul hayatımda programlama ya da algoritma dersleri ile karşılaşmamış olmam. Dolayısıyla temel olmayınca üzerine kat çıkmak çok zorlaşıyor. Eksik kolonlarla bina ayakta duramıyor.

"En önemlisi ve insanların göz ardı ettiği, içeriğini bilmediğiniz bir yordam kullanırsanız, işlemde hata yaptınız mı/nerde yaptınız farkına bile varmazsınız. İyilik, yardım, birden kötülüğe, zarara dönüşür." Bu programlama için o kadar geçerli bir söz ki...

Mesela şu an sizin kodlarınızı nereye kopyalayacağımı dahi düşünüyorum, General - Declaration 'a mı kopyalanacak, Active' e mi vs gibi. Sonuç yine dediğinize çıkıyor. Yapılan bu yardımlar, hazıra konan kişiyi dışa bağımlı hale geliyor. Aslında yazılım sektörü de tam olarak bu noktadan ekmeğini kazanmıyor mu? :mrgreen:

Zaten henüz yolun başındayım. Dediğiniz değişken tipleri, diziler, döngüler konularını kurcalayacağım, çalışacağım. Umarım en kısa sürede düşündüklerimi uygulamaya dökebilecek konuma gelebilirim. --)(

İlginiz ve aktardığınız tecrübeleriniz için çok teşekkür ederim.

Bu arada güncellediğiniz kodu denediğimde "Duplicate declaration in current scope" uyarısı alıyorum hocam :D
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#15)  Miraç CAN » 07 Tem 2020 09:21

Çok fazla gözünüzü korkutmaya gerek yok, biraz ingilizce bilgisi veya Google Translate yardımı ve doğru mantık kurmak kafi.

"BuÇalışmaKitabı" (ThisWorkbook) kod sayfasına eklemeniz gerekiyor.
Aynı isimle iki farklı değişken tipi tanımlama hatası alıyorsunuz.
Daha önceden kullandığınız makrolar varsa kontrol edin, kodları çalıştırdığınızda zaten mavi olarak seçecektir sorunlu olan değişkeni.
Temp değişkenini bilerek tanımlamamıştım, fazladan değişken olmasın diye, belki de o olabilir [ilginc]
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#16)  husopa » 07 Tem 2020 13:38

Şöyle bir uyarı hocam:
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#17)  Miraç CAN » 07 Tem 2020 14:02

Kodları düzenlerken sıralama hatası yapmıştım, düzelttim ama buraya düzeltilmemiş halini eklemişim nedense.
Tanımlama yapmadan atama yapınca böyle oluyor maalesef ;)

ActRwsCount = Range("A" & Rows.Count).End(3).Row: If ActRwsCount <= 2 Then Exit Sub
bu satırı Dim ... deyimlerinin altında olacak şekilde düzeltmeniz gerekiyor.
Kod: Tümünü seç
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If SChange Or Not Sh.Name Like "Page*" Then Exit Sub
Dim CurRws&, DoIt&, ActRwsCount&, Pls&
Dim Temp, TempArr As Variant, Txt$
ActRwsCount = Range("A" & Rows.Count).End(3).Row: If ActRwsCount <= 2 Then Exit Sub

Bu sıralamada olacak şekilde...
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#18)  husopa » 07 Tem 2020 15:51

Hocam :
Dediğiniz gibi güncel kodu Dim... satırlarının altına yerleştirdim. Şu an En sonda End Sub dan önceki SChange = False: RwCount

Sub or Function not defined uyarısı veriyor. RwCount ibaresini sildiğimde hatasız satır ekliyor ama hücre içerisine yazı yazdığımda ilk sayfada da aynı işlemi yapmıyor. Böyle bir fonksiyon eklemiş miydiniz? yoksa sadece satır ekleme çıkarma işlemi mi mevcut?

o ibareyi kaldırmam doğru bir işlem mi?

SChange = False
End Sub

şeklinde kodların en sonunda?
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#19)  Miraç CAN » 08 Tem 2020 07:22

Güncelleme başlıklı cevapta kodları iki parça halinde eklemiştim, okunabilirliği daha kolay olsun diye.
Kodların hepsini "BuÇalışmaKitabı" (ThisWorkbook) kod sayfasına eklediniz değil mi?
Çünkü bahsettiğiniz fonksiyon orada, en başta Private Function RwCount()

Ve hatırlamışken, atladığım bir konuyu da ileteyim; örnek çalışmanızda ki gibi, sadece sayfa ismi "Page*" ise (Page ile başlıyorsa) işlem yapar.
Aksi halde revize etmek gerekir.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Otomatik satır eklemek, silmek vs mümkün müdür?

İleti#20)  husopa » 08 Tem 2020 11:57

hocam çok çok teşekkür ederim gayet güzel çalışıyor. şkşk Elinize emeğinize sağlık
Kullanıcı avatarı
husopa
Yeni Başlamış
 
Kayıt: 22 Ağu 2017 19:42
Meslek: makine mühendisi
Yaş: 31
İleti: 25
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bursa/Osmangazi


Forum Diğer Excel İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe