Skip to main content

AccessTr.neT


Verileri Değiştirmek

Verileri Değiştirmek

Çözüldü #1
Merhaba arkadaşlar

Eklediği kodlarla ListBox daki satıra çift tıklayarak verileri TextBox lara alarak değiştiriyorum.
TextBoxlarda değiştirdiğim verileri Excel sayfasına doğru aktarıyor. Ancak bazı TextBoxlardaki verileriyi siliyorum TextBox boş olmasına rağmen değiştir butonuna tıkladığımda boş olan TextBoxa karşılık gelen Hücrede eski veri kalıyor.

Örneğin: A1 Açıklama B1 50,00 C1 25,00 rakamı var. Verileri ListBoxtan TextBoxlara alıyorum.
A1 TextBox1 B1 TextBox2 C1 TexBox3 e aktarıyorum.
TextBox1 deki Açıklamayı, Kitap olarak, TextBox2 50,00, 100,00 olarak değiştiriyorum. TexBox3 deki veriyi siliyorum. TextBox3 boş. Değiştir butonuna tıkladığımda,
A1 Hücresindeki veri Kitap, B1 Hücresindeki veri 100,00 olarak değişiyor. TexBox3 boş kaldığı için C1 hücresindeki 25,00 silinmesi gerekirken. Silinmiyor 25,00 olarak kalıyor.
.rar Per.Çiz.rar (Dosya Boyutu: 267,77 KB | İndirme Sayısı: 5)
Cevapla
#2
Kodu eklemeniz mümkün mü?
Cevapla
#3
Hocam Kodu Ekledim.

Visual Basic Code
MsgBox "KAYITLAR DEĞİŞTİRİLMİŞTİR." 'InputBox a parola maskesi sonu
satır = ActiveCell.Row
ListBox1.RowSource = ""
On Error Resume Next
ActiveSheet.Unprotect "4455"
ActiveCell.Offset(0, 1).Value = CDate(TextBox1.Value)
ActiveCell.Offset(0, 2).Value = TextBox2
ActiveCell.Offset(0, 3).Value = ComboBox3.Value
ActiveCell.Offset(0, 4).Value = CDbl(TextBox3.Value)
ActiveCell.Offset(0, 5).Value = CDbl(TextBox4.Value)
ActiveCell.Offset(0, 6).Value = CDbl(TextBox5.Value)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox7.Value)
ActiveCell.Offset(0, 8).Value = CDbl(TextBox9.Value)
ActiveCell.Offset(0, 9).Value = CDbl(TextBox11.Value)
ActiveCell.Offset(0, 10).Value = CDbl(TextBox8.Value)

On Error GoTo 0
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & [A65536].End(3).Row
Range("A65535").End(xlUp).Offset(1, 0).Select

Son Düzenleme: 16/05/2020, 03:38, Düzenleyen: m_demir.
Cevapla
#4

Kod:
CDbl(TextBox3.Value)

Yerine

Kod:
TextBox3.Value

Gibi yazıp deneyiniz.Diğerleride aynı olacak.Koddaki on error resume nexti kaldırıp deneyince cdbl hatası vardi boş durumlarda.


Birde tavsiyem

Visual Basic Code
ActiveCell.Offset(0, 2).Value = TextBox2

yerine

Visual Basic Code
ActiveCell.Offset(0, 2).Value = TextBox2.value

olarak value kullanmanız herzaman için.

Son Düzenleme: 16/05/2020, 03:57, Düzenleyen: feraz.
Cevapla
#5
Çok teşekkürler Hocam ellerinize sağlık.

Hocam kodları aşağıdaki şekilde değiştirdim. Değişiklikleri doğru yapıyor. Ancak şöyle bir sorun var Rakamları metin olarak mı aktarıyor herhalde değişen rakamlar toplamlarda dahil olmuyor.

Visual Basic Code
MsgBox "KAYITLAR DEĞİŞTİRİLMİŞTİR." 'InputBox a parola maskesi sonu
satır = ActiveCell.Row
ListBox1.RowSource = ""
'On Error Resume Next
ActiveSheet.Unprotect "4455"
ActiveCell.Offset(0, 1).Value = CDate(TextBox1.Value)
ActiveCell.Offset(0, 2).Value = TextBox2
ActiveCell.Offset(0, 3).Value = ComboBox3.Value
ActiveCell.Offset(0, 4).Value = TextBox3.Value
ActiveCell.Offset(0, 5).Value = TextBox4.Value
ActiveCell.Offset(0, 6).Value = TextBox5.Value
ActiveCell.Offset(0, 7).Value = TextBox7.Value
ActiveCell.Offset(0, 8).Value = TextBox9.Value
ActiveCell.Offset(0, 9).Value = TextBox11.Value
ActiveCell.Offset(0, 10).Value = TextBox8.Value
On Error GoTo 0
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & [A65536].End(3).Row
Range("A65535").End(xlUp).Offset(1, 0).Select

Son Düzenleme: 16/05/2020, 05:54, Düzenleyen: m_demir.
Cevapla
#6
Rica ederim.Sayfada formatlayın sütunu.Yada resim olarak atarmısınız toplanmayan yerleri benim gözüme çarpmamıştı dediğiniz.

Yasa bilgisayar başına geçince Cdbl yöntemini if ile birleştirip denerim boş ise vs.. şart koşup.
Son Düzenleme: 16/05/2020, 14:20, Düzenleyen: feraz.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da