• DİKKAT

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

Gelen veriyi otomatik kaydetme

Katılım
28 Ağustos 2016
Mesajlar
8
Excel Vers. ve Dili
2010 türkçe
Arkadaşlar elimde excel dosyası var bir yere kadar yaptım ama istediğim şeyi yapamadım çünkü bu makrodan anlamıyorum. Dosya üzerine istediğimi yazdım yardım eden olursa sevinirim ve duacı kalırım. Excel dosyasını nereye göndereceksem yazsın lütfen.

Link eklendi:http://s6.dosya.tc/server7/de70p6/DENEME55.xlsx.html
 
Son düzenleme:
Foruma hoşgeldiniz.
Örnek dosyanızı; GOOGLE DRIVE,YANDEX DISK,DOSYA.WEB.TR,DOSYA.CO,DOSYA.TC gibi dosya paylaşım sitelerine ekleyip linkini burada bildirin.
 
Merhaba.

Aşağıdaki kod'u dener misiniz?
Alt taraftan sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılan
VBA ekranının sağ tarafındaki boş alana yapıştırıp, belgeyi MAKRO İÇEREBİLEN EXCEL BELGESİ
olarak kaydedin ve kapatıp açın. İlk açılışta MAKROLARI ETKİNLEŞTİRİN ve kaydedip tekrar kapatın.

Yanlış anlamadıysam, belgeyi açtığınızda istediğiniz gerçekleşecektir.
Örnek belgeye erişim adresini aşağıda verdim.

.
Kod:
[FONT="Arial Narrow"]Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationManual
    If Intersect(Target, [B4, D4, C5]) Is Nothing Then Exit Sub
        ilkb9 = [B9]: ilkd9 = [D9]: satır = [F65536].End(3).Row + 1
            If [B4] > [C5] And ilkb9 = "İŞLEM YOK" Then
                Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "DOĞRU"[COLOR="Red"]: Cells(satır, "H") = [C5][/COLOR]
                    ElseIf [B4] <= [C5] And ilkb9 = "DOĞRU" Then
                        Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "İŞLEM YOK"[COLOR="Red"]: Cells(satır, "H") = [C5][/COLOR]
                        End If
                    If [D4] < [C5] And ilkd9 = "İŞLEM YOK" Then
                Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "İŞLEM YOK"[COLOR="Red"]: Cells(satır, "H") = [C5][/COLOR]
            ElseIf [D4] >= [C5] And ilkd9 = "YANLIŞ" Then
        Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "YANLIŞ"[COLOR="Red"]: Cells(satır, "H") = [C5][/COLOR]
    End If
ActiveSheet.Calculate
End Sub[/FONT]
Ayrıca, belgeye, VBA ekranında iken, üst taraftaki menüde
INSERT -> MODULE'yi seçin ve sol taraftan MODUL1'e çift tıklayınca sağ taraftaki boş alana da aşağıdaki kodları yapıştırın.
.
Kod:
[FONT="Arial Narrow"]Sub auto_close()
Application.Calculation = xlCalculationAutomatic
End Sub

Sub auto_open()
Application.Calculation = xlCalculationManual
End Sub[/FONT]

Belgeye buradan ulaşabilirsiniz.
.
 
Son düzenleme:
Gerçekten çok sağolasın Allah ne istediğin varsa versin, sadece işlem yok ile yanlış yeri ters yazılmış düzelttim birde zamana saniye ekledim koda tıkır tıkır çalışıyor. Tekrar çok teşekkür ederim. Aslında bir de yan sütuna kayıt ettiği andaki "denge değerini" yazsa çok iyi olurdu, zamanınız olursa yapıverin yoksa bu kadar da bana yeter. Allah razı olsun.
 
Ters yazılanı tam olarak anlamadım, denge değeri için önceki kod'a eklediğim kırmızı kısımları eklemeniz yeterli olur.
Düzelttiğiniz satırların doğrusunu kod'dan kopyalayıp mesaj olarak yazın ki önceki cevabımı tekrar güncelleyeyim.
 
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationManual
If Intersect(Target, [B4, D4, C5]) Is Nothing Then Exit Sub
ilkb9 = [B9]: ilkd9 = [D9]: satır = [F65536].End(3).Row + 1
If [B4] > [C5] And ilkb9 = "İŞLEM YOK" Then
Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "DOĞRU": Cells(satır, "H") = [C5]
ElseIf [B4] <= [C5] And ilkb9 = "DOĞRU" Then
Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "İŞLEM YOK": Cells(satır, "H") = [C5]
End If
If [D4] < [C5] And ilkd9 = "İŞLEM YOK" Then
Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "YANLIŞ": Cells(satır, "H") = [C5]
ElseIf [D4] >= [C5] And ilkd9 = "YANLIŞ" Then
Cells(satır, "F") = Format(Time, "hh:mm"): Cells(satır, "G") = "İŞLEM YOK": Cells(satır, "H") = [C5]
End If
ActiveSheet.Calculate
End Sub
 
kırmızı ile değiştirdiklerim üstadım onları düzelttim, birde bu makro çalışırken aynı excel içindeki basit çarpma bölme formülleri çalışmaz mı?
 
Kod, formül gibi metinleri mesaja yazarken, mesaj yazdığınız alanın hemen üstünde
en sağdaki # karakterine tıklayıp
(CODE) arasına yazarsanız/kopyalayıp yapıştırırsanız (/CODE)
daha kullanışlı, anlaşılır oluyor.

Saniye olayı için hem ilgili sütunun biçimini buna göre ayarlayın, hem de koddaki hh:mm kısımlarını hh:mm:ss olarak değiştirin.

Formüllerin çalışması için ihtiyacınız olduğunda F9 tuşuna basmanız yeterli olur.
Kod haseplemeyı durdurup, olması gerekenle karşılaştırma şeklinde çalıştığından bu sayfa için durum böyle.
İsterseniz bu işlemi yaptığınız sayfanın kod bölümüne aşağıdaki ilk kodu da yapıştırın,
belgedeki diğer sayfalar için ise (tümü için ayrı ayrı) ikinci kod'u yapıştırın.

Kod:
[B]Private Sub Worksheet_Activate()[/B]
    Application.Calculation = xlCalculation[COLOR="Blue"]Manual[/COLOR]
[B]End Sub[/B]

[B]Private Sub Worksheet_Activate()[/B]
    Application.Calculation = xlCalculation[COLOR="blue"]Automatic[/COLOR]
[B]End Sub[/B]

İhtiyacınız görüldü sanırım değil mi?
.
 
Son düzenleme:
Foruma yazarken dikkat ederim, valla ne diyeyim çok çok teşekkür ederim, Allah razı olsun, belki birisine de yardımcı olur, emeğiniz için çok sağolun... Saygılarımla...
 
Sayfayı yenileyip son cevabıma tekrar bakın isterseniz,
sanırım ben değişiklik yaparken siz cevabı yazdınız.
 
Tekrar merhaba.
Bir de ekteki belgeyi deneyin isterseniz.
Bence bu daha kullanışlı, zira hesaplama durdurma gibi bir işlem yok.

Belgeye buradan da ulaşabilirsiniz.
.
 

Ekli dosyalar

Geri
Üst