• DİKKAT

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

Kod hatası

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,494
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Private Sub CommandButton1_Click()

Worksheets("Haftalik").Cells(4, 2) = TextBox1.Value
Worksheets("Haftalik").Cells(4, 3) = TextBox2.Value
Worksheets("Haftalik").Cells(5, 2) = TextBox4.Value
Worksheets("Haftalik").Cells(5, 3) = TextBox5.Value
Worksheets("Haftalik").Cells(6, 2) = TextBox7.Value
Worksheets("Haftalik").Cells(6, 3) = TextBox8.Value
Worksheets("Haftalik").Cells(7, 2) = TextBox10.Value
Worksheets("Haftalik").Cells(7, 3) = TextBox11.Value
Worksheets("Haftalik").Cells(8, 2) = TextBox13.Value
Worksheets("Haftalik").Cells(8, 3) = TextBox14.Value
Worksheets("Haftalik").Cells(9, 2) = TextBox16.Value
Worksheets("Haftalik").Cells(9, 3) = TextBox17.Value
Worksheets("Haftalik").Cells(12, 2) = TextBox22.Value
Worksheets("Haftalik").Cells(4, 7) = TextBox24.Value
Worksheets("Haftalik").Cells(4, 8) = TextBox25.Value
Worksheets("Haftalik").Cells(4, 9) = TextBox26.Value
Worksheets("Haftalik").Cells(4, 10) = TextBox27.Value
Worksheets("Haftalik").Cells(4, 11) = TextBox28.Value
Worksheets("Haftalik").Cells(4, 12) = TextBox29.Value
Worksheets("Haftalik").Cells(5, 7) = TextBox30.Value
Worksheets("Haftalik").Cells(5, 8) = TextBox31.Value
Worksheets("Haftalik").Cells(5, 9) = TextBox32.Value
Worksheets("Haftalik").Cells(5, 10) = TextBox33.Value
Worksheets("Haftalik").Cells(5, 11) = TextBox34.Value
Worksheets("Haftalik").Cells(5, 12) = TextBox35.Value
Worksheets("Haftalik").Cells(6, 7) = TextBox36.Value
Worksheets("Haftalik").Cells(6, 8) = TextBox37.Value
Worksheets("Haftalik").Cells(6, 9) = TextBox38.Value
Worksheets("Haftalik").Cells(6, 10) = TextBox39.Value
Worksheets("Haftalik").Cells(6, 11) = TextBox40.Value
Worksheets("Haftalik").Cells(6, 12) = TextBox41.Value
Worksheets("Haftalik").Cells(7, 7) = TextBox42.Value
Worksheets("Haftalik").Cells(7, 8) = TextBox43.Value
Worksheets("Haftalik").Cells(7, 9) = TextBox44.Value
Worksheets("Haftalik").Cells(7, 10) = TextBox45.Value
Worksheets("Haftalik").Cells(7, 11) = TextBox46.Value
Worksheets("Haftalik").Cells(7, 12) = TextBox47.Value
Worksheets("Haftalik").Cells(8, 7) = TextBox48.Value
Worksheets("Haftalik").Cells(8, 8) = TextBox49.Value
Worksheets("Haftalik").Cells(8, 9) = TextBox50.Value
Worksheets("Haftalik").Cells(8, 10) = TextBox51.Value
Worksheets("Haftalik").Cells(8, 11) = TextBox52.Value
Worksheets("Haftalik").Cells(8, 12) = TextBox53.Value
Worksheets("Haftalik").Cells(9, 7) = TextBox54.Value
Worksheets("Haftalik").Cells(9, 8) = TextBox55.Value
Worksheets("Haftalik").Cells(9, 9) = TextBox56.Value
Worksheets("Haftalik").Cells(9, 10) = TextBox57.Value
Worksheets("Haftalik").Cells(9, 11) = TextBox58.Value
Worksheets("Haftalik").Cells(9, 12) = TextBox59.Value



For i = 4 To 9
Controls("Textbox" & (i - 3) * 3) = Sayfa1.Cells(i, "d")
Next i

For i = 2 To 4
Controls("Textbox" & (i + 17)) = Sayfa1.Cells(11, i)
Next i
TextBox22.Text = Sayfa1.Cells(12, 2)
TextBox23.Text = Sayfa1.Cells(12, 4)
For i = 7 To 12
Controls("Textbox" & (i + 53)) = Sayfa1.Cells(11, i)
Next i
say = 0
For i = 17 To 22
ekle = 0:
If i Mod 2 = 0 And i <> 22 Then ekle = 1
For ii = 2 To 4 + ekle
Controls("Textbox" & (66 + say)) = Sayfa1.Cells(i, ii)
say = say + 1
Next ii
Next i

For Each i In Controls
If i.Name Like "TextBox" & "*" Then
Controls(i.Name).TextAlign = 3
If Controls(i.Name).Value <> "" Then
Controls(i.Name) = FormatCurrency(CSng(Controls(i.Name).Value), 2)
End If
End If
Next i

End Sub

Sayın hocalarımız. Bir arkadaşa yardımcı olmaya çalışıyorum. KAYDET diye buton koyulmuş. Bu kod var. Kaydet deyince hata veriyor. Bu satırda.
Neden acaba.
Saygılarımla.
 
Merhaba.

Hata veren satır sayı formatını değiştiriyor.
Eğer değer yoksa çalışmasın diye satır yazılmış ama bu yeterli değil, değerin aynı zamanda bir rakam olması gerekiyor.
Onun için değer kontrolünü aşağıdaki şekilde yapmalısınız.

Aşağıdaki satırı silin
Kod:
If Controls(i.Name).Value <> "" Then
yerine aşağıdakini kopyalayın.
Kod:
If isnumeric(Controls(i.Name) ) Then
 
Merhaba.

Hata veren satır sayı formatını değiştiriyor.
Eğer değer yoksa çalışmasın diye satır yazılmış ama bu yeterli değil, değerin aynı zamanda bir rakam olması gerekiyor.
Onun için değer kontrolünü aşağıdaki şekilde yapmalısınız.

Aşağıdaki satırı silin
Kod:
If Controls(i.Name).Value <> "" Then
yerine aşağıdakini kopyalayın.
Kod:
If isnumeric(Controls(i.Name) ) Then
Hocam, artık hata vermiyor. Teşekkür ederim. Yalnız Excelde gözüküyor ama userformda gözükmüyor sayılar.
 
Eski kodlardaki aşağıdaki kısım
Kod:
If Controls(i.Name).Value <> "" Then
Controls(i.Name) = FormatCurrency(CSng(Controls(i.Name).Value), 2)
End If

Aşağıdaki gibi olmalı.

Kod:
If IsNumeric(Controls(i.Name)) Then
    Controls(i.Name) = FormatCurrency(CSng(Controls(i.Name).Value), 2)
Else
    Controls(i.Name) = FormatCurrency(0, 2)
End If
 
Eski kodlardaki aşağıdaki kısım
Kod:
If Controls(i.Name).Value <> "" Then
Controls(i.Name) = FormatCurrency(CSng(Controls(i.Name).Value), 2)
End If

Aşağıdaki gibi olmalı.

Kod:
If IsNumeric(Controls(i.Name)) Then
    Controls(i.Name) = FormatCurrency(CSng(Controls(i.Name).Value), 2)
Else
    Controls(i.Name) = FormatCurrency(0, 2)
End If
Hocam, olmadı. Userfomda gözükmüyor yine. Size de zahmet veriyorum ama.
 
Kayıt ile ilgili herhangi bir değişiklik yapmadım ben.
Daha önce KAYDET VE KAPAT a basınca kaydediyor muydu?

Müsait bir zamanda bakacağım.
 
@Muzaffer Ali hocam. Bir öğretmen arkadaşımız bir tablo göndermiş. Şu an lazımmış. Benim Düşeyara iyi değil. Zahmet olmazsa bakabilir misiniz.
 
Geri
Üst