• DİKKAT

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

Worksheet change alanına 2.kodu veya fazlasını girmek mümkünmü.

Katılım
10 Mayıs 2013
Mesajlar
34
Excel Vers. ve Dili
EXCEL 2007 TR
Merhaba excel sayfamda kullanmakta olduğum yine bu site sayesinde bulduğum örnek kodu değiştirmek yada satır numaralarını değiştirip arka arkaya yapmak istiyorum ama hata veriyor.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

With Target
If .Count > 2 Then Exit Sub
If Not Intersect(Range("A2:O2000"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0, 5).ClearContents
Else
With .Offset(0, 5)
.NumberFormat = "hh:mm"
.Value = Now
End With
End If
Application.EnableEvents = True
End If
End With

End Sub (bu şekli çalışıyor sorun yok.ikinci satırı ekleyince hata veriyor.)
------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

With Target
If .Count > 2 Then Exit Sub
If Not Intersect(Range("B2:B2000"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0, 5).ClearContents
Else
With .Offset(0, 5)
.NumberFormat = "hh:mm"
.Value = Now
End With
End If
Application.EnableEvents = True
End If
End With

End Sub

yalnız aynı sayfada ikinci satırıda aynı işleme alayım dediğimde
B satırında işlem yapılırsa F satırına saati yaz dediğimde sayfa çalışmıyor.
aslında kolay bir yolu mutlaka mevcuttur ama sadece örneklerden yola çıkarak bu kodları kullanmaktayım.aslında bu sayfada yapmak istediğim örnek A satırına başla yazarsam E satırına başlama saatini
B satırına Tamamlandı yada Bitti yazarsam F satırınada Bitiş saatini Bu koda ekleyerek aktif etmek.şu anda sadece başlama saati girişim çalışmakta.
 

Ekli dosyalar

Merhaba. Paylaştığınız dosyadaki kodlar ile burada yazdığınız kodlar biraz farklı gibi. Paylaştığınz dosyadaki kodları çoğaltıp A'ları B yaparsanız istediğiniz olur umarım.
 
Buyrun uygulanmış hali ektedir. Sizin paylaştığınız dosyada "Başladı" veya "Tamamlandı" yazınca değil hücrede herhangi bir değişiklik yapınca çalışıyor, onu değiştirmedim bende bu şekliyle bıraktım.
 

Ekli dosyalar

Merhaba.

Mevcut kod'u aşağıdakiyle değiştirerek deneyiniz.

-- A sütununa başla yazıldığında E sütununa,
-- B sütununa tamamlandı yazıldığında F sütununa saat yazılır.
-- Belirtilen kelimeler dışında bir veri yazılır veya veri silinirse ilgili saat silinir.
NOT: Tamamlanma saati yazılırken, ilgili satırda başlama saatinin varlığı kontrol edilmiyor (böyle bir istek yok zaten)
.
Kod:
[B]Private Sub Worksheet_Change(ByVal Target As Excel.Range)[/B]
    With Target
        If .Count > 2 Then Exit Sub
        If Not Intersect(Range("A2:B2000"), .Cells) Is Nothing Then
            Application.EnableEvents = False
            If (.Column = 1 And (UCase(.Value) = "BAŞLA" Or UCase(.Value) = "BASLA")) Or _
                (.Column = 2 And (UCase(.Value) = "TAMAMLANDı") Or UCase(.Value) = "TAMAMLANDI") Then
[COLOR="Blue"]                .Offset(0, [SIZE="4"]4[/SIZE]) = Format(Now, "hh:mm")
[/COLOR][COLOR="Red"]                .Offset(0, [SIZE="4"]4[/SIZE]).NumberFormat = "hh:mm"
                .Offset(0, [SIZE="4"]4[/SIZE]) = Now
[/COLOR]            Else
                .Offset(0, [SIZE="4"]4[/SIZE]).ClearContents
            End If
            Application.EnableEvents = True
        End If
    End With
[B]End Sub[/B]
 
Tekrar merhaba.

Bir önceki cevabımda verdiğim kod'da değişiklik yaptım.
E ve F sütununa yazılmasını istediğiniz bilgi (görünümü/biçimi değil, yazılan bilgi);
-- TARİH ve SAAT ise mavi satırı silin,
-- sadece SAAT ise kırmızı olan satırları silin.
.
 
Tekrar merhaba.

Bir önceki cevabımda verdiğim kod'da değişiklik yaptım.
E ve F sütununa yazılmasını istediğiniz bilgi (görünümü/biçimi değil, yazılan bilgi);
-- TARİH ve SAAT ise mavi satırı silin,
-- sadece SAAT ise kırmızı olan satırları silin.
.

Ömer bey tekrar merhaba .kod kısmı sizin yaptığınız şekli ile sorunsuz çalışıyor.Her zamanki gibi yardımınızı esirgemediniz.yalnız içersinde A-ve B satırını değiştirirsem ve Başla ile Tamamlandı cümlelerine müdahale edersem sanki kod sizin yapıyı değiştirdimi istemezcesine engel oluyor ve çalışmıyor.Harf koruması var heralde diye düşünmeden edemedim.öğrenmem gereken epeyce bir konu var anlaşılan.
 
Teşekkür

Buyrun uygulanmış hali ektedir. Sizin paylaştığınız dosyada "Başladı" veya "Tamamlandı" yazınca değil hücrede herhangi bir değişiklik yapınca çalışıyor, onu değiştirmedim bende bu şekliyle bıraktım.

sayın dellerlim öncelikle çok teşekkür ederim.kod kısmında aceleyle sayfayı hazırlarken açıklamamdaki harfleri yanlış yazmışım.gönderdiğiniz dosya çalışıyor ellerinize sağlık . Ömer hocamın hazırladığı ve sizin hazırladığınız örneğide sayfalarıma uygulayacağım.emeğinize sağlık.
 
Önceki cevabımdaki kodda küçük düzeltme yaptım.
Kodun uygulandığı belge ekte.
.
 

Ekli dosyalar

Ömer Hocam merhaba verdiğiniz kodları sayfama uyarladım.çok güzel çalışmakta.veri yenilemedede herhangi bir problem yaşamadım.kendi sayfamdada biraz değişikliklere gitmem gereken yerler olduğundan bir yandada atolye yoğunluğu anca cevap verebildim.yardımlarınızdan dolayı çok teşekkür ederim.:)
 
Geri
Üst