• DİKKAT

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

Soru Yakıt Takip Formu

Katılım
23 Mayıs 2018
Mesajlar
105
Excel Vers. ve Dili
2019 Türkçe
Merhaba,

Araçların yalıt takibinin yapıldığı bir tablo oluşturmak istiyorum. Bu tabloyu da user form ile desteklemek istiyorum. User form oluşturdum fakat alt alta yeni değer eklemek yerine sürekli olarak ikinci satırdaki veriyi değiştiriyor. Girilen verilenerin tabloda belirtilen stünların altına yazılması gerekiyor.
Sıra no otomatik gelmelidir. elle girişe kapalı olsun istiyorum.

Konu ile ilgili yardımlarınızı rica ediyorum.

Örnek dosya ektedir.
 

Ekli dosyalar

Son satırı aşağıdaki şekilde bulun.
Sonsatır = Range("B" & Rows.Count).End(3).Row + 1
 
Sıra no için formun kod sayfasındaki tüm kodu silin aşağıdaki kodu uygulayınız.

Kod:
Dim sat As Long, s1 As Worksheet
Private Sub CommandButton1_Click()
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
    MsgBox "Boş alanları doldurunuz.", vbCritical
    TextBox1.SetFocus
    Exit Sub
End If
    s1.Cells(sat + 2, 2) = Val(TextBox_ID)
    s1.Cells(sat + 2, 3) = CStr(TextBox1)
    s1.Cells(sat + 2, 4) = CDate(TextBox2)
    s1.Cells(sat + 2, 5) = CDbl(TextBox3)
    s1.Cells(sat + 2, 8) = TextBox4
    UserForm_Initialize
MsgBox "Kayıt işlendi.", vbInformation
End Sub
Private Sub UserForm_Initialize()
Set s1 = Sheets("Anasayfa")
sat = s1.Cells(Rows.Count, 2).End(3).Row
    If sat < 3 Then
        sat = 1
    Else
        sat = sat - 1
    End If
TextBox_ID.Locked = True
TextBox_ID = sat
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox1.SetFocus
End Sub
 
Son düzenleme:
@askm tam olarak nereye yazacağım bunu anlamadım. Yazdığım yerde de aynı hatayı verdi. Çok teşekkr ederim.
@Ziynettin hocam çok teşekkür ederim.
 
G sütununda sizin formülünüz var o formülü temizlerseniz plaka yazma olayı oluşmaz.
 
Kod:
Private Sub CommandButton1_Click()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then

    If IsNumeric(TextBox3.Value) Then

    Sonsatır = Range("B" & Rows.Count).End(3).Row + 1
    If Sonsatır = 3 Then
        Worksheets("Anasayfa").Cells(Sonsatır, 2) = 1
        Worksheets("Anasayfa").Cells(Sonsatır, 3) = TextBox1.Value
        Worksheets("Anasayfa").Cells(Sonsatır, 4) = TextBox2.Value
        Worksheets("Anasayfa").Cells(Sonsatır, 5) = TextBox3.Value
        
    Else
        Worksheets("Anasayfa").Cells(Sonsatır, 2) = Worksheets("Anasayfa").Cells(Sonsatır - 1, 1) + 2
        Worksheets("Anasayfa").Cells(Sonsatır, 3) = TextBox1.Value
        Worksheets("Anasayfa").Cells(Sonsatır, 4) = TextBox2.Value
        Worksheets("Anasayfa").Cells(Sonsatır, 5) = TextBox3.Value
        
    End If
    
    Else
    MsgBox "Yaş rakamsal bir değer olmalıdır"
    GoTo SON
    
    End If
Else
    MsgBox "Tüm alanları doldurunuz"
    End If
SON:

End Sub
 
Sayfayı koru yaptığım zaman vba kısmında id vermede hata veriyor. Bunun nedeni nedir? A stunundaki fomülasyonu gizlemek istiyorum.

Hata kodu " Range sınıfırın number format özelliği kurulamıyor"
 
#3. iletideki kodu düzenlenmiş şekilde deneyiniz. Siz önceki kodu kullanıyorsunuz.
 
Geri
Üst