• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

satır ve sütun eklemek, silmek

  • Konbuyu başlatan Konbuyu başlatan yusmax
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Mart 2005
Mesajlar
10
Selam arkadaşlar
bir çalışma kitabının 1. sayfasında girmiş olduğum verileri bağ yapıştır yöntemiyle sayfa 2 ve 3 e aktarıyorum ancak sayfa 1 de bir satır yada sutün sildiğimde diğer sayfalardada aynı işlemi yapmam gerekiyor.toparlarsam sayfa 1 e satır veya sütun eklediğimde diğer sayfalardada eklensin silindiğindede silinsin.bu mümkünmüdür?
 
Merhaba Sayın yusmax

Bu işlemi gerçekleştirebilmek için aynı anda hangi sayfalardan satır veya sutun silmek ve eklemek için Ctrl ye basılı iken mausla silinmesini istediğiniz sayfaları tek tek seçin seçilen sayfalar aktif sayfa gibi arka planı beyaz olacak istediğiniz sayfaları seçtikten sonra silmek istediğiniz sayfadan istediğiniz satırda veya sutunda değişiklik yaptıktan sonra seçtikleriniz dışında bir sayfa seçerek sayfaların aktivizasyonunu kaldırın ve kontrol edin seçtiğiniz bütün sayfalarda tek bir sayfada yaptığınız değişikliğin diğer sayfalarda da uygulandığını göreceksiniz.Kolay gelsin
 
Merhaba,
aynı işlemin yapılmasını istediğiniz sayfaları gruplayın.
Gruplama : Gruba dahil etmek istediğiniz en soldaki sayfayı seçin.
Shift tuşunu basılı tutun ve gruba dahil etmek istediğiniz en sağdaki sayfayı seçin. Bu iki sayfa arasında bulunan tüm sayfalar gruplanmış oldu.

Artık bir sayfada yaptığınız tüm işlemler diğer sayfalardada gerçekleşecektir.
 
Soru her ne kadar Yeni Başlayanlar bölümüne de sorulmuş olsa en sağlam, unutma diğer sayfaları tıklama, bağ yapıştıma gibi olayları ortadan kaldırabilmeniz için Makro kullanmanız gerekecek.

Kod:
Option Explicit
Dim sh1 As Object

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Set sh1 = (Worksheets(1).[A:IV])
    Worksheets.FillAcrossSheets sh1
  Set sh1 = Nothing
End Sub
 
Çok güzel :bravo:
ben de kendimi birşey biliyor zannediyordum..

daha çook formlar görmem lazım.

çok teşekkürler...
 
merhaba,
"Giriş" sayfasında herhangi bir sırada, satır eklediğim veya sildiğimde,
"ay" ve "gün sayfalarında aynı işlemi nasıl yaparım
Saygılarımla.
 
merhaba,
"Giriş" sayfasında herhangi bir sırada, satır eklediğim veya sildiğimde,
"ay" ve "gün sayfalarında aynı işlemi nasıl yaparım
Saygılarımla.
Giriş sayfasının kod bölümüne bu kodu yazınız
Kod:
' =========================================================================
' === "GİRİŞ" SAYFASINDAKİ DEĞİŞİKLİKLERİ İZLEYEN OTOMATİK KOD ===
' Bu kod, sadece "Giriş" sayfasının kod bölümünde çalışır.
' =========================================================================
Private Sub Worksheet_Change(ByVal Target As Range)

    ' --- DEĞİŞKEN TANIMLAMALARI ---
    Dim etkilenenSatir As Long         ' Eklenen veya silinen satırın numarası.
    Dim etkilenenSutun As Long       ' Değişikliğin yapıldığı sütunun numarası.
    Dim hedefSayfalar As Variant       ' Senkronize edilecek sayfaların adlarını tutan dizi.
    Dim ws As Worksheet                ' Döngüdeki her bir hedef sayfayı temsil eder.
    Dim i As Long                      ' Döngü için sayaç.

    ' --- GÜVENLİK VE PERFORMANS ---
    ' Eğer birden fazla hücre aynı anda değiştiyse (örn: yapıştırma), işlemi yapma.
    ' Bu, sadece tek bir satır ekleme/silme eylemini yakalamak içindir.
    If Target.Cells.CountLarge > 1 Then Exit Sub
    
    ' Değişikliğin yapıldığı satır ve sütun numaralarını al.
    etkilenenSatir = Target.Row
    etkilenenSutun = Target.Column

    ' Hedef sayfaların adlarını bir diziye ata.
    ' Buraya istediğiniz kadar sayfa adı ekleyebilirsiniz.
    hedefSayfalar = Array("ay", "gün")
    
    ' =========================================================================
    ' === EYLEM ANALİZİ: SATIR MI EKLENDİ VEYA SİLİNDİ? ===
    ' =========================================================================
    
    ' --- DURUM 1: YENİ BİR SATIR EKLENDİ Mİ? ---
    ' Eğer tüm satır boşsa VE değişiklik sadece A sütununda yapıldıysa,
    ' bu genellikle yeni bir satır eklendiği anlamına gelir.
    ' (Not: Satır ekleme eylemi, A sütununda boş bir hücre oluşturur ve bu da "Change" olayını tetikler)
    If Application.CountA(Me.Rows(etkilenenSatir)) = 0 And etkilenenSutun = 1 Then
    
        ' "ANA ŞALTERİ" KAPAT: Bu, diğer sayfalarda satır eklerken
        ' bu kodun tekrar çalışmasını ve sonsuz döngüye girmesini engeller.
        Application.EnableEvents = False
        
        ' Hedef sayfalarda döngü başlat.
        For i = LBound(hedefSayfalar) To UBound(hedefSayfalar)
            Set ws = ThisWorkbook.Worksheets(hedefSayfalar(i))
            ' Etkilenen satır numarasına yeni bir satır ekle.
            ws.Rows(etkilenenSatir).Insert Shift:=xlDown
        Next i
        
        ' "ANA ŞALTERİ" AÇ: Olayları tekrar dinlemeye başla.
        Application.EnableEvents = True
        
        ' İşlem bitti, makrodan çık.
        Exit Sub
    End If
    
    ' --- DURUM 2: BİR SATIR SİLİNDİ Mİ? ---
    ' Bir satır silindiğinde, altındaki satır yukarı kayar ve bu da
    ' "Change" olayını tetikler. Bu durumu yakalamanın en güvenilir yolu,
    ' değişikliğin tüm satırı etkileyip etkilemediğine bakmaktır.
    If Target.Address = Me.Rows(etkilenenSatir).Address Then
    
        ' "ANA ŞALTERİ" KAPAT.
        Application.EnableEvents = False
        
        ' Hedef sayfalarda döngü başlat.
        For i = LBound(hedefSayfalar) To UBound(hedefSayfalar)
            Set ws = ThisWorkbook.Worksheets(hedefSayfalar(i))
            ' Etkilenen satır numarasını sil.
            ws.Rows(etkilenenSatir).Delete Shift:=xlUp
        Next i
        
        ' "ANA ŞALTERİ" AÇ.
        Application.EnableEvents = True
        
        ' İşlem bitti, makrodan çık.
        Exit Sub
    End If

End Sub
 
Hocam merhaba,
Teşekkür ederim. "Giriş" sayfası kod bölümüne kodu yapıştırdım;
"ay" ve "gün" sayfalarında hücreler "Giriş "sayfasından veri aldığından dolayı
boş satır eklenemiyor. Örnek dosya ekledim.
 
Son düzenleme:
Merhaba.

1- Formüllerde herhangi bir sorun yok. Ocak - Aralık adındaki sayfaları silmişsiniz onun için Değer hatası dönüyor.
2- Dosyada benim eklediğim kodlar yok.

Eğer özel bilgiler olduğu için sayfaları silip paylaştıysanız, en azından sadece Ocak ayını silmeyin ve sayfadaki özel bilgileri benzer başka değerlerle değiştirin. ki sorunu anlayabilelim.
 
Hocam merhaba,
13 No'lu iletideki dosyayı yeniledim..
 
Formülleri Aşağıdaki gibi yapın.
Kod:
=EĞER(D4="";"";ÇOKETOPLA(OCAK!J:J;OCAK!I:I;D4)*1)

*1 yeri yanlış.
Kod:
(EĞER(D4="";"";ÇOKETOPLA(ŞUBAT!J:J;ŞUBAT!I:I;D4)))*1)
Hatta bazılarında iki tane *1 var
Kod:
((EĞER(D4="";"";ÇOKETOPLA(ŞUBAT!J:J;ŞUBAT!I:I;D4)))*1)*1
 
Hocam merhaba,
Aidat sayfasındaki kod,
=EĞER(D4="";"";ÇOKETOPLA(OCAK!D:d;OCAK!C:C;D4))
Demirbaş sayfasındaki kod,
=EĞER(D4="";"";ÇOKETOPLA(OCAK!J:J;OCAK!I:I;D4))
bunlarda sorun bulunmuyor.
Giriş sayfasına satır eklediğimde yada sildiğimde, ayların dışındaki formüllerde bozulma(sanırım satır aralığı değiştiği için)oluyor.
değişen satırın bir üstündeki satırdan aşağıya doğru taradığımda düzeliyor.
 
Son düzenleme:
Hocam merhaba,
Aidat sayfasındaki kod,
=EĞER(D4="";"";ÇOKETOPLA(OCAK!D:d;OCAK!C:C;D4))
Demirbaş sayfasındaki kod,
=EĞER(D4="";"";ÇOKETOPLA(OCAK!J:J;OCAK!I:I;D4))
bunlarda sorun bulunmuyor.
Giriş sayfasına satır eklediğimde yada sildiğimde, ayların dışındaki formüllerde bozulma(sanırım satır aralığı değiştiği için)oluyor.
değişen satırın bir üstündeki satırdan aşağıya doğru taradığımda düzeliyor.
Paylaştığınız dosyadaki formüller öyle değildi.

Ben Her iki sayfanın Ocak aylarının formüllerini düzelttim siz de diğerlerini ona bakarak düzeltin.
 
Geri
Üst