• Web sitemizin SORU-CEVAP bölümünde dosya yüklemek ve dosya indirmek günlük limitlere bağlı olarak ÜCRETSİZ'dir.
    Gizlilik kapsamında, sadece site yöneticilerimizin ve üyenin kendisinin görebileceği ÜCRETLİ ÖZEL DESTEK alanımız mevcuttur.

Çözüldü Artı Eksi Satır ekleme ve Silme

REKLAM

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Bu örnekte olduğu gibi + karakterine tıkladığımızda aşağıdaki örnek dosya ve resimdeki örneği kendi sistemine adapte etmeye çalışıyorum.
Veri tipi eklediğimizde o veri tipiyle satır eklenecek ancak onun önünde + karakteri değil - karakteri olacak buna tıkladığında ise o satır silinebilecek
Bunu nasıl adapte edebiliriz
Problem o örneğe göre bizim takvim alanımız daha aktif ve hafta bütünlüğü var

Screenshot_5.png
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Ekders_v.02.xlsm
    47.5 KB · Görüntüleme: 3
  • KBShesaplama_v20.11.xlsm
    139.9 KB · Görüntüleme: 5
Çözüm
AKTAR isimli MODULE1'deki kodu aşağıdakiyle değiştirin.

C#:
Sub AKTAR()
Set o = Sheets("Öğretmen")
Set c = Sheets("Ömer BARAN Hocamın Çalışması")
cson = c.Cells(Rows.Count, 2).End(3).Row
Application.Calculation = xlCalculationManual: Application.EnableEvents = False

hspilk = WorksheetFunction.Match(101, c.[5:5], 0)
hspson = WorksheetFunction.Match("GT", c.[5:5], 0)

If cson > 5 Then
    cs = 5: c.Range("A6:G" & cson).ClearContents
    c.Range(c.Cells(6, hspson), c.Cells(cson, hspson)).UnMerge
End If
If o.AutoFilterMode Then o.AutoFilterMode = False
sono = o.Cells(Rows.Count, 2).End(3).Row
o.Range("A1:F1").AutoFilter Field:=2, Criteria1:="Aktif"
If sono > 1 Then
    For Each XD In o.Range("C2:C" &...

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Dosyayı @Ömer BARAN Beyin en son eklediği şekliyle güncelledim.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Ekders_v.03.xlsm
    44.7 KB · Görüntüleme: 3

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Güncel
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Belgeniz ekte, denemeler yaparsınız.
Kodlamalar biraz uzun olduğundan buraya eklemiyorum.

" + / - " hücrelerine yönelik senaryo ve işlemler şöyle:
  • " + " hücresine ÇİFT tıklama ile satır eklenir, bir alt hücreye " - " yazılır ve Combobox aynı satırda konumlanır.
  • Comboboxtan seçim yapılmadan başka hücre seçilmeye çalışılırsa uyarı verdirilerek combobox'un yanındaki hücre aktif hale gelir.
  • " - " yazan ve daha önce Combobox'tan yapılan seçim değiştirilmek istenirse bu kez F sütununa ÇİFT tıklama yapılarak devam edilir.
  • " - " yazalı hücre ÇİFT tıklandığında satır silinir.
.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • XD_ARTI_EKSI_Ekders_v.03.xlsm
    57.1 KB · Görüntüleme: 3

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

@Ömer BARAN hocam cevabınızı görünce gecenin süprizi oldu benim için.
Çok teşekkür ederim.
Ne desem az inanın.
Şöyle bir durum var 3 tane revizyon gerekiyor versiyon 04 yazıp dosyayı buraya yüklüyorum.
Müsait olduğunuzda bu konudada ekleme yaparsanız her zamanki gibi sizlerin desteklerine müteşekkirim ve duacınızım.
yazmaya bile utanıyorum ama benim boyumu şuan aşan işler olduğu içinde çaresizim 🥰

Screenshot_5.png
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Ekders_v.04.xlsm
    56.8 KB · Görüntüleme: 1

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Sanırım böyle, kontrol ediniz.
101 ve 110 karşılıkları AKTARma sırasında yapılır, diğerleri, açılır listeden seçim yapıldığında.

.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Ekders_v.04.xlsm
    56.3 KB · Görüntüleme: 2

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Sanırım böyle, kontrol ediniz.
101 ve 110 karşılıkları AKTARma sırasında yapılır, diğerleri, açılır listeden seçim yapıldığında.

.
Çok teşekkür ederim bunu hazmedinceye kadar mola vereceğim :)
@Ömer BARAN bey açıklamanızı yeni gördüm. Açıklamada yazdığınız gibi bazı sütunları sağ tarafa eklemedik çünkü okulda bize onlar pek lazım olmuyor
Aşağıdakiler var sadece. Açılır menüyede sadece bunları koyabiliriz aslında ben o listeyi yatay koymuşum veri sayfasında
Gündüz101
%25 Fazla Gündüz103
Belleticilik106
Sınav Görevi107
Egzersiz108
Ekders Yer.Geç.Gör. - Gündüz110
Takviye Kursu (gündüz)116
Takviye Kursu (gece)117
Nöbet119
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Son düzenleme:

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Birde en son sütun yani genel toplam şu şekilde olacaktı bir öğretmene ait tüm (+) ve (-) alanlarının birleştirilmiş genel toplamı yapılabilir mi bilemiyorum

şu şekilde
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Screenshot_6.png
    Screenshot_6.png
    32.3 KB · Görüntüleme: 1

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Sayfanın kod bölümündeki Worksheet_BeforeDoubleClick kod blokunda, kırmızı renklendirdiğim satırların arasını
yeşil olanlarla değiştirin.

Bu arada HESAPLAMA ALANIndaki 101, 104 ...gibi kodlara ilişkin satır toplamlarının
hangi sütunları kapsaması gerektiği hususunu netleştirmeniz lazım sanırım.
H sütunundan son tarih sütununa kadarki alın mı, yoksa seçilen aya ait ilk ve son gün sütunları arası mı?
Formüllerin şu anki hallerinde sorun var gibi (ay değiştirerek kontroller yapın).
Seçilen ayın hangisi olduğunu belirtmeyi unutmadan açıklarsanız iyi olur.
Formül kontrollerini bir kez Şubat/21 için bir kez de Ağustos/21 için yapmayı ihmal etmeyin,

Rich (BB code):
If Target.Column = 5 And Target.Value = "+" Then
    Rows(Target.Row + 1).Insert Shift:=xlDown
    Target.Offset(1, 0) = "-": Target.Offset(1, -1) = Target.Offset(0, -1)
    ilksut = WorksheetFunction.Match(101, [5:5], 0)
    sonsut = WorksheetFunction.Match("GT", [5:5], 0) - 1
    ilksat = Target.Row: adet = WorksheetFunction.CountIf([D:D], Target.Offset(0, -1))
    Range(Cells(Target.Row, sonsut + 1), Cells(Target.Row + 1, sonsut + 1)).Merge
    alan = Range(Cells(ilksat, ilksut), Cells(ilksat + adet - 1, sonsut)).Address
    Cells(Target.Row, sonsut + 1).Formula = "=SUM(" & alan & ")"
    Target.Offset(1, 0).Activate:
    Range(Cells(Target.Row, ilksut), Cells(Target.Row, sonsut)).Copy _
    Range(Cells(Target.Row + 1, ilksut), Cells(Target.Row + 1, sonsut))
  
    With ComboBox1
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Son düzenleme:

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Ömer bey
Ekders işlemlerimizin son 3 yılını incelediğimde
sadece aşağıdakileri kullanmışız.

1Gündüz101
2%25 Fazla Gündüz103
3Belleticilik106
4Sınav Görevi107
5Egzersiz108
6Ekders Yer.Geç.Gör. - Gündüz110
7Takviye Kursu (gündüz)116
8Takviye Kursu (gece)117
9Nöbet119

Bu durumda sağ taraftaki toplamların olduğu sütunlarda da bunların olması yeterli. Zaten bu şekilde yapmışız.
Ancak bizden başka arkadaşlarda okullarında bunu kullanacak olabilirler onlar bu açılır listeyi kendileri düzenleyebilsinler dersek.
Açılır menü Veri!C1:C20 arasında dolu satırları gösterecek şekilde kodlasak sanırım herkesin işini görebilir.

Bu arada HESAPLAMA ALANIndaki 101, 104 ...gibi kodlara ilişkin satır toplamlarının
hangi sütunları kapsaması gerektiği hususunu netleştirmeniz lazım sanırım.
Cevap :
Açılır menüde üstteki 9 kodu bıraktığımızda sanırım sorun kalmayacak.
Açılır menüde de sol taraftaki satır toplamları da 9 adet olmuş olacak. Sanırım bunu kastediyorsunuz üstteki mesajınızla.

Bunun dışında Her öğretmenin adının bulunduğu (+) olan satır ve sonradan o satırın altına (-) li açılan satırların genel toplamı GT sütununda denediğim kadarıyla düzgün çalışıyor.

H sütunundan son tarih sütununa kadarki alın mı, yoksa seçilen aya ait ilk ve son gün sütunları arası mı?

Cevap : yoksa seçilen aya ait ilk ve son gün sütunları arası mı?

Bu şekilde doğru
Yani seçili ayınilk günü ile son günü arası toplanacak
bu ayların dışında önceki aydan kalan ve sonraki aydan eklenen günler sadece bilgilendirme amaçlı bu alanlar hesaplamaya katılmıyor. Onlarda kendi aylarında hesaplamaya dahil ediliyor.


Formüllerin şu anki hallerinde sorun var gibi (ay değiştirerek kontroller yapın).
Cevap : Detaylıca inceleyip yazayım inşallah
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Formüllerin şu anki hallerinde sorun var gibi (ay değiştirerek kontroller yapın).


Şu şekilde kontrol yaptım
2021 Ağustos ayında en fazla sütun varken tüm hücrelere 1 değeri verdim
Ağustos ayının ilk ve son sütunlarında bulunan önceki ve sonraki aylara da 1 değeri verdim
Ağustos 31 gün olduğu için tüm toplam alanlar 31 değerini göstermekteydi. Bu da yanlışlık olmadığını gösteriyor.
Diğer tüm aylara da bu şekilde denedim. O ay kaç gün çekiyorsa o kadar toplam değeri oluştuğunu gördüm.
Başka dikkatimi çeken bir yanlışlık görmedim.
Sadece Şubatta sağ taraftaki yeşil renkli sütunlarda formül olmayan bir satır vardı oraya üstteki formülü çekerek uyguladım.
Bir hata göremedim
Teşekkür ederim.

Aşağı kodu Veri!$C$1 : $C$20 satırları arasında sadece dolu olan satırları gösterecek şekilde güncelleyebilirsek. Hem şu durumda kullanılmayan TÜR Kodlarından kurtulmuş oluruz hemde bu kodları kullanmak isteyen diğer kişilerin önünü açmış oluruz diye düşünüyorum.

Rich (BB code):
If Target.Column = 5 And Target.Value = "+" Then
    Rows(Target.Row + 1).Insert Shift:=xlDown
    Target.Offset(1, 0) = "-": Target.Offset(1, -1) = Target.Offset(0, -1)
    ilksut = WorksheetFunction.Match(101, [5:5], 0)
    sonsut = WorksheetFunction.Match("GT", [5:5], 0) - 1
    ilksat = Target.Row: adet = WorksheetFunction.CountIf([D:D], Target.Offset(0, -1))
    Range(Cells(Target.Row, sonsut + 1), Cells(Target.Row + 1, sonsut + 1)).Merge
    alan = Range(Cells(ilksat, ilksut), Cells(ilksat + adet - 1, sonsut)).Address
    Cells(Target.Row, sonsut + 1).Formula = "=SUM(" & alan & ")"
    Target.Offset(1, 0).Activate:
    Range(Cells(Target.Row, ilksut), Cells(Target.Row, sonsut)).Copy _
    Range(Cells(Target.Row + 1, ilksut), Cells(Target.Row + 1, sonsut))

    With ComboBox1
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Ekders_v.05.xlsm
    58.5 KB · Görüntüleme: 5

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

@Ömer BARAN Bey şöyle bir durum ortaya çıktı.
Öğretmenleri aktardık ve bazı öğretmenleri (+) tıklayarak (-) alt satırlar ekledik
Sonra yeniden öğretmen listesini aktar dediğimizde en sağdaki GT genel toplamda birleştirilmiş sütunlar o şekilde kaldı.
Tüm (-) satırları kaldırıp kaldırıp aktarma işlemi yapılınca sorun oluşturmaz ancak Sub AKTAR() içine bir kod ekleyerek düzeltilebilecek bir durumsa düzeltilebilir.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

AKTAR isimli MODULE1'deki kodu aşağıdakiyle değiştirin.

C#:
Sub AKTAR()
Set o = Sheets("Öğretmen")
Set c = Sheets("Ömer BARAN Hocamın Çalışması")
cson = c.Cells(Rows.Count, 2).End(3).Row
Application.Calculation = xlCalculationManual: Application.EnableEvents = False

hspilk = WorksheetFunction.Match(101, c.[5:5], 0)
hspson = WorksheetFunction.Match("GT", c.[5:5], 0)

If cson > 5 Then
    cs = 5: c.Range("A6:G" & cson).ClearContents
    c.Range(c.Cells(6, hspson), c.Cells(cson, hspson)).UnMerge
End If
If o.AutoFilterMode Then o.AutoFilterMode = False
sono = o.Cells(Rows.Count, 2).End(3).Row
o.Range("A1:F1").AutoFilter Field:=2, Criteria1:="Aktif"
If sono > 1 Then
    For Each XD In o.Range("C2:C" & sono).SpecialCells(xlCellTypeVisible)
        s = s + 1: c.Cells(cs + s, 1) = s: c.Cells(cs + s, 2) = XD.Offset(0, 1)
        c.Cells(cs + s, 3) = XD.Offset(0, 3): c.Cells(cs + s, 4) = XD
        c.Cells(cs + s, 6) = 101: c.Cells(cs + s, 7) = Sheets("Veri").[C1]
        If XD.Offset(0, 2) = "Yüksek Lisans" Or XD.Offset(0, 2) = "Doktora" Then _
            c.Cells(cs + s, 6) = 110: c.Cells(cs + s, 7) = Sheets("Veri").[C9]
        c.Cells(cs + s, 5) = "+": c.Cells(cs + s, 5).Font.Size = 14
    Next XD: c.Columns("B:G").AutoFit
c.Range(c.Cells(6, 1), c.Cells(6, hspson)).Copy
c.Range(c.Cells(7, 1), c.Cells(cs + s, hspson)).PasteSpecial Paste:=xlPasteFormats
c.Range(c.Cells(6, hspilk), c.Cells(6, hspson)).Copy
c.Range(c.Cells(7, hspilk), c.Cells(cs + s, hspson)).PasteSpecial Paste:=xlPasteFormulas
c.Range(c.Cells(cs + s + 1, 1), c.Cells(cs + s + 100, hspson)).Delete Shift:=xlUp
If o.AutoFilterMode Then o.AutoFilterMode = False
c.[A6].Activate
Application.EnableEvents = True: Application.Calculation = xlCalculationAutomatic
End If: MsgBox "Aktarma tamamlandı..", vbInformation, "Www.ExcelDestek.Com"
End Sub
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Çözüm

merakli

VIP
VIP
Kullanıcı
Versiyon
  1. Excel 2019
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

AKTAR isimli MODULE1'deki kodu aşağıdakiyle değiştirin.

C#:
Sub AKTAR()
Set o = Sheets("Öğretmen")
Set c = Sheets("Ömer BARAN Hocamın Çalışması")
cson = c.Cells(Rows.Count, 2).End(3).Row
Application.Calculation = xlCalculationManual: Application.EnableEvents = False

hspilk = WorksheetFunction.Match(101, c.[5:5], 0)
hspson = WorksheetFunction.Match("GT", c.[5:5], 0)

If cson > 5 Then
    cs = 5: c.Range("A6:G" & cson).ClearContents
    c.Range(c.Cells(6, hspson), c.Cells(cson, hspson)).UnMerge
End If
If o.AutoFilterMode Then o.AutoFilterMode = False
sono = o.Cells(Rows.Count, 2).End(3).Row
o.Range("A1:F1").AutoFilter Field:=2, Criteria1:="Aktif"
If sono > 1 Then
    For Each XD In o.Range("C2:C" & sono).SpecialCells(xlCellTypeVisible)
        s = s + 1: c.Cells(cs + s, 1) = s: c.Cells(cs + s, 2) = XD.Offset(0, 1)
        c.Cells(cs + s, 3) = XD.Offset(0, 3): c.Cells(cs + s, 4) = XD
        c.Cells(cs + s, 6) = 101: c.Cells(cs + s, 7) = Sheets("Veri").[C1]
        If XD.Offset(0, 2) = "Yüksek Lisans" Or XD.Offset(0, 2) = "Doktora" Then _
            c.Cells(cs + s, 6) = 110: c.Cells(cs + s, 7) = Sheets("Veri").[C9]
        c.Cells(cs + s, 5) = "+": c.Cells(cs + s, 5).Font.Size = 14
    Next XD: c.Columns("B:G").AutoFit
c.Range(c.Cells(6, 1), c.Cells(6, hspson)).Copy
c.Range(c.Cells(7, 1), c.Cells(cs + s, hspson)).PasteSpecial Paste:=xlPasteFormats
c.Range(c.Cells(6, hspilk), c.Cells(6, hspson)).Copy
c.Range(c.Cells(7, hspilk), c.Cells(cs + s, hspson)).PasteSpecial Paste:=xlPasteFormulas
c.Range(c.Cells(cs + s + 1, 1), c.Cells(cs + s + 100, hspson)).Delete Shift:=xlUp
If o.AutoFilterMode Then o.AutoFilterMode = False
c.[A6].Activate
Application.EnableEvents = True: Application.Calculation = xlCalculationAutomatic
End If: MsgBox "Aktarma tamamlandı..", vbInformation, "Www.ExcelDestek.Com"
End Sub
Teşekkür ederim elinize sağlık
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst