• DİKKAT

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

açılan kaleme göre işlem

  • Konbuyu başlatan Konbuyu başlatan gedavet
  • Başlangıç tarihi Başlangıç tarihi
Katılım
15 Eylül 2007
Mesajlar
1,312
Excel Vers. ve Dili
2013 türkçe
YAPMAK İSTEDİĞİM
ŞİMDİ BU ÇALIŞMADA ŞÖYLE BİR ÖZELLİK VAR DİYELİM Kİ NİSAN AYINDAYIZ ÜSTEKİ AYLARIN ALTINA VERİ GİRMEK İÇİN NİSAN AYINDAN BİR ÖNCEKİ AYA AİT VERİLERİ YAZABİLİRİZ HER BU ŞEKİLDE DEVAM EDİYOR
BU ÖZELLİKLE BERABER C4:C34/C39:C47/C52:C55/C58:C61 HÜCRELERİNE KALEM ADI YAZIYORUM EĞER BELİRTTİĞİM BU ARADA BİR KALEM YAZILI DEĞİL İSE O SATIRDAKİ AYLARA VERİ YAZDIRMASA VE BİR KALEM YAZILMI O KALEME AİT AYLARAIN BİRİNE VERİDE YAZILMIŞ İSE O KALEMİ SİLMEK İSTERSEK SİLDİRMESE AYNI ŞEKİLDE SAĞ TARAFTAKİ TAPLO İÇİNDE
aralıkları okla belirttim
 

Ekli dosyalar

Excel hocalarım iyi günler dilerim bu konu hakında yardıma ihtiyacım var
açıklama yapmam gerekirse örnek c4 kalem 1 yazdım f4 de veri girdim c4 deki kalemi silmeye çalışırsam sildirmese
birde c15 de kalem yok f15 veri yazmak isteyince yazdırmasa
 
açıklama

konuma cevap gelmeyince acaba anlaşımadımı diye açıklayayım dedim
ekdeki dosyada örnek vermeye çalışdım 1. mesajımdaki dosyaya eklenecek bu dosyayı açoklam aiçin ekledim
 

Ekli dosyalar

excel hocalarım bana bu konuda yardım lazım eğer anlaşılmayan durum varsa açıklamaya çalışayım
 
Merhaba,
Sayfa1'in kod bölümüne kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("d1:o65536")) Is Nothing Or Target = "" Then Exit Sub
If Target.Offset(0, -3) = "" Then
MsgBox "kalem girişi yapılmamış.", vbCritical, "UYARI"
Target = "": Target.Select
End If
End Sub
 
mustafa bey ilginiz için teşekkür ederim kalem yazılmamış ise veri girdirmiyor çok güzel birde kalem yazdık aylara veride yazmış isek o kalemi sildirmese yani aylara gelir veye gider yapılmış kalem silinmese

BİRDE SAĞDATAFDAKİ BÖLÜM İÇİNDE GEÇERLİ OLMASI İÇİN ("d1:o65536")) BU BÜLÜMDEKİ KODU("d1:AE65536")) OLARAK DEĞİŞTİRİNCE YETERLİMİ
 
Son düzenleme:
Aşağıdaki kodu kendi dosyanızın kod bölümüne kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("d4:o34,t3:ae35")) Is Nothing Then Exit Sub
Sut = 20
If Target.Column < 16 Then Sut = 4
If Target = "" Then GoTo Atla:
If Cells(Target.Row, Sut - 1) = "" Then
MsgBox "kalem girişi yapılmamış.", vbCritical, "UYARI"
Target = "": Target.Select
End If
Atla:
If WorksheetFunction.CountA(Range(Cells(Target.Row, Sut), Cells(Target.Row, Sut + 11))) > 0 Then
ActiveSheet.Unprotect
Cells(Target.Row, Sut - 1).Locked = True
ActiveSheet.Protect
Else:
ActiveSheet.Unprotect
Cells(Target.Row, Sut - 1).Locked = False
ActiveSheet.Protect
End If
End Sub
 
Mustafa bey şim birinci kodu ne yapacağım sadece 2. Kodumu kopyalacağım sadece
eğer öyle ise veri yazılmış kalem siliniyor
bir ikincisi hem soldaki hem sağdaki bölümler var o bölümleri 1. Mesajımda yazmıştım birde bu taplo aynı şekilde aşağıya doğru çoğalıp gidiyor
 
Dosyanız ekte.
 

Ekli dosyalar

Son düzenleme:
Mustafa bey şimdi bu ekdeki dosyada kalemi nasıl sildirmiyor şu mantığın aynısı olmazmı nasılki kalem yazılı değilse veri girdirmiyor uyarı veriyorsa kaleme deleteye basınca da uyarı verse
 
Mustafa bey şimdi bu ekdeki dosyada kalemi nasıl sildirmiyor şu mantığın aynısı olmazmı nasılki kalem yazılı değilse veri girdirmiyor uyarı veriyorsa kaleme deleteye basınca da uyarı verse
Dosyayı güncelledim. Koruma kodunu iptal ettim. İlgili alanda veri doğrulama kullandım.
 
Mustafa bey eğer kalemin önündaki ayların birine veri yazılmış ise bu kalemi silince nasıl önlüyor veya nasıl sildirmiyor
 
Kalemlerin olduğu yerdeki veri doğrulama nasıl çalışıyor KALEMİN YAZILDIĞI HÜCREYE DELETE BASINCA SİLİYOR
 
mustafa bey kalemler bölümünde liste ile ilgili veri doğrulama var siz yeni bir veri doğrulama yapmışsıznı
 
mustafa bey bana yardımcı olabilirmisiniz veri doğrulama ile değilde makro ile silmeyi önleye bilirmiyiz
 
mustafa bey bana yardımcı olabilirmisiniz veri doğrulama ile değilde makro ile silmeyi önleye bilirmiyiz
Makro ile silmeyi önlemiştim. Sanırım beğenmediniz? Makro ile önerebileceğim daha iyi bir alternatif yok.
Veri doğrulama ile verdiğim örnekte, sadece verinin değiştirilmesini engelleyebilirsiniz, silmeye çözüm olmuyor.
Makro ile verdiğim çözüm için fikriniz değişirse, eklediğim kodlar yerinde duruyor, oradan alıp dosyanıza yeniden ekleyebilirsiniz. (7 nolu mesajdaki kodlar...)
 
mustafa bey şöyle yanlış anladım ise silmeyi şöyle önlüyor kalem açınca veri yazdık ise o kalem hazdığımız hücrenin alanını koruma yapıyor bu şekildemi hücreyi koruma değilde nasılki kalem açılmamış ise uyrı verdiği gibi deleteye basınca sildirmese
 
mustafa bey şöyle yanlış anladım ise silmeyi şöyle önlüyor kalem açınca veri yazdık ise o kalem hazdığımız hücrenin alanını koruma yapıyor bu şekildemi hücreyi koruma değilde nasılki kalem açılmamış ise uyrı verdiği gibi deleteye basınca sildirmese
Ekteki örneği deneyin.
 

Ekli dosyalar

İYİ GÜNLER mustafa bey çok teşekkür ederim ancak derdimi anltamdım herhalde szide çok uğraştırdım BANA BİR YARDIMCI OLABİLİRMİSİNİZ
YAPMAK İSTEDİĞİM İKİ ŞEY VAR 1. Sİ MUSTAF BEYİN YAZI VERDİĞİ İLK KODDA TAMAM YANİ KALEM AÇILMAMIŞ İSE YAZDIRMIYOR 2. Sİ İSE KALEM AÇILMIŞ AYLARA VERİDE YAZILMIŞ İSE O KELEME DELETE YE BASINCA SİLDİRMESE UYARI VERSE MUSTAFA BEYİN DİĞER ÖRNEKLERİNDE HÜCREYİ KORUMA YAPMIŞ KORUMAMASI GEREKİYOR ÇÜNKÜ ORALARDA BAŞKA İŞLEM VAR VERİ DOĞRULAMA İLE ÖRNEK VERMİŞ ODA OLMAZ ORADA VERİ DOĞRULAMADAN LİSTE ÖZELLİĞİNİ KULLANIYORUM
 
Merhaba,
Ekteki örneği inceleyin.
Selectionchange ve change kodları birbiriyle bağlantılı çalışıyor. Biraz zorlama bir kod kombinasyonu oldu; ama iş görür.
 

Ekli dosyalar

Son düzenleme:
Geri
Üst