• DİKKAT

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

veriyi yazma sorunu

Katılım
21 Şubat 2007
Mesajlar
384
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Merhabalar. Ekli tabloda "veri" sayvasında B1 ve B2 hücresine değer yazdığımda "tablo" sayfasına gidip B1 deki kuyu numarasını bulup, B2 ye yazdığım değeri karşısına yazıyordu. Geçenlerde "tablo" sayfasına bir satır ekledim. (103) nolu satır. Bu eklemeden sonra "tablo" sayfasının sonundaki 60608 nolu kuyuyu bulamıyor ve "veri" sayfasındaki B2 değerini buraya yazmıyor. Makrodaki gerekli düzeltmeyi yapıp bu hatayı neden verdiği hakkında bilgi de verirseniz sevinirim. Olaki ileride yine satır açmam gerekirse sizleri tekrar rahatsız etmeyeyim. Kolay gelsin.
 

Ekli dosyalar

Veri sayfasının kod bölümünde for i = 18 to 108 şekilnde bir satır var. Orda Tablo sayfasının 108. satırına kadar işlem yapılmasını istemişsiniz ama 60608 'i 109. satıra eklemişsiniz. Onu değiştirmeniz gerekir.
 
for i= 18 to 108 i 109 olarak değiştirdim. Fakat yine de yazmadı. sebebi nedir? Düzeltme yapıp dosyayı gönderirseniz sevinirim.
 
Sayın yusuf44 109 yaptım ama hala problemim çözülmedi. Makroyu çalışır hale getirmeme yardımcı olursanız sevinirim.
 
i=108'i de i = 109 yapıp deneyin.
 
Kodun tamamını aşağıdakiyle değiştirirseniz, Tablo sayfasına ilave yaptığınızda kodu değiştirmenize gerek kalmaz. TOPLAM satırının bir önceki satıra kadar işlem yapar. Ayrıca for next döngüsüne de gerek yok, daha hızlı çalışır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [B1]) Is Nothing Then GoTo 10
        [b2].Select
10:
    If Intersect(Target, [b2]) Is Nothing Then Exit Sub
        son = WorksheetFunction.Match("TOPLAM", Sheets("TABLO").[A1:A300], 0) - 1
        sat = WorksheetFunction.Match([B1], Sheets("TABLO").[A1:A300], 0)
        Sheets("TABLO").Cells(sat, "D") = Sheets("VERİ").[b2]
End Sub
 
sayın yusuf44, kodu bu şekilde değiştirdim. fakat B2 hücresine yazdığım değeri yine yazmadı maalesef. :((
 
Dosyayı o haliyle paylaşır mısınız?
 
Kodu modüle eklemişsiniz. İlk mesajımda da belirttiğim gibi veri sayfasının kod bölümüne eklemeniz lazım. Veri sayfa sekmesine sağ tıklayıp kod görüntüle deyince açılan sayfadaki kodlardan bahsediyorum.
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then GoTo 10
[b2].Select
10:
If Intersect(Target, [b2]) Is Nothing Then Exit Sub
son = WorksheetFunction.Match("TOPLAM", Sheets("TABLO").[A1:A300], 0) - 1
sat = WorksheetFunction.Match([B1], Sheets("TABLO").[A1:A300], 0)
Sheets("TABLO").Cells(sat, "D") = Sheets("VERİ").[b2]
End Sub
debug hatası verdi. sat = satırını sarıya boyadı :(
 
Yazdığınız kod Tablo sayfasında yoktur.
 
kaydet temizle tuşuna basınca veriyor bu hatayı
 
Verdiğim kod sayfa olayına bağlı, düğmeyle çalışmıyor. O düğmeyi kullanabilmek istiyorsanız temizle makrosunu aşağıdakiyle değiştirin:

Kod:
Sub temizle()
'
' temizle Makro
'

'
    Sheets("VERİ").Activate
    Application.EnableEvents = False
    Sheets("VERİ").Range("B1:B2") = ""
    Sheets("VERİ").Range("B1").Select
    Application.EnableEvents = True
End Sub
 
şimdi işlem tamam. çok teşekkür ederim. kolay gelsin. :)
 
Geri
Üst