• DİKKAT

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

Satırdaki bilgilerin değiştirilmesi

  • Konbuyu başlatan Konbuyu başlatan ynmcan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Merhaba arkadaşlar;
Forumdaki çalışmalardan yararlanarak bir personel programı hazırlamaktayım.
ancak bir yerde takıldım. Personel bilgilerinde değişiklik yapmak istediğimde kulanacağım kodları bir türlü düzenleyemedim. Yardımcı olursanız sevinirim.
Küçük bir örnek dosya hazırladım diğer açıklamalar bu dosyada.
 

Ekli dosyalar

:) İlk başta bende neden bu kodların çalışmadığına şaşırmıştım.

Çünkü kodlarda hiçbir eksiklik yok.

Asıl problem H kolonundaki ad ve soyadları birleştirmeniz için kullandığınız formüllerden kaynaklanıyor.

Değiştir tuşuna bastığınızda sadece adı yani b kolonunu değiştiriyor.Buda H kolonunu değiştirdiği için Combobox1'in yeniden refresh olmasına neden oluyor.

Tekrar eski veriler textboxlara geliyor.Dolayısıyla değişiklik yapılamıyor.

H kolonundaki verileri formülsüz olarak yazıp deneyebilirsiniz.
 
:) İlk başta bende neden bu kodların çalışmadığına şaşırmıştım.

Çünkü kodlarda hiçbir eksiklik yok.

Asıl problem H kolonundaki ad ve soyadları birleştirmeniz için kullandığınız formüllerden kaynaklanıyor.

Değiştir tuşuna bastığınızda sadece adı yani b kolonunu değiştiriyor.Buda "H "kolonunu değiştirdiği için Combobox1'in yeniden refresh olmasına neden oluyor.

Tekrar eski veriler textboxlara geliyor.Dolayısıyla değişiklik yapılamıyor.

H kolonundaki verileri formülsüz olarak yazıp deneyebilirsiniz.

Syn. Recep İPEK ; söylediğiniz düzenlemeyi yaptım. "H" sütunundaki birleştirme formüllerini sildim. Ayrıca combobox' un listesini oluşturan "H" sutununuda "B" olarak değiştirdim ancak hiçbir düzelme olmadı.
Örnek dosyam ekte
 

Ekli dosyalar

Combobox1'e değişiklik yapılan bir kolondan bilgi aldırmayınız.

Çünkü örneğin personelin adını güncellediğinizde tekrar eski verileri ekranı getiriyor.

Buda sizin diğer alanlarda değişiklik yapmanızı engeller.

Combobox1'e adı bilgisini getirdiğinizden bu alanı index olarak kabul edip, bu alanda herhangi bir değişiklik yapmamak için

'Sheets("bilgiler").Range("B" & Degistirilecek_Satir).Value = TextBox1.Text

satırını pasif yapınız veya siliniz.

Kodlarınız düzgün bir biçimde çalışacaktır.
 

Ekli dosyalar

Combobox1'e değişiklik yapılan bir kolondan bilgi aldırmayınız.

Çünkü örneğin personelin adını güncellediğinizde tekrar eski verileri ekranı getiriyor.

Buda sizin diğer alanlarda değişiklik yapmanızı engeller.

Combobox1'e adı bilgisini getirdiğinizden bu alanı index olarak kabul edip, bu alanda herhangi bir değişiklik yapmamak için

'Sheets("bilgiler").Range("B" & Degistirilecek_Satir).Value = TextBox1.Text

satırını pasif yapınız veya siliniz.

Kodlarınız düzgün bir biçimde çalışacaktır.

Syn. Recep İPEK, söylediklerinizi dikkate alarak Combobox' un listesini oluşturan "V" sütunu değişimini işlemler bitikten sonra yapmasını aşağıdaki kırmızı ile belirtiğim satırlarla sağladım. Personel litesi 25' i geçmeyeceğinden 25 satır olarak bunu çoğaltım. Şu anda program sorunsuz çalışıyor. Katkılarınızdan dolayı teşekkür ederim.
Kod:
Degistirilecek_Satir = ComboBox1.ListIndex + 2
Sheets("bilgiler").Range("B" & Degistirilecek_Satir).Value = TextBox1.Text
Sheets("bilgiler").Range("C" & Degistirilecek_Satir).Value = TextBox2.Text
Sheets("bilgiler").Range("D" & Degistirilecek_Satir).Value = TextBox3.Text
Sheets("bilgiler").Range("E" & Degistirilecek_Satir).Value = TextBox4.Text
Sheets("bilgiler").Range("F" & Degistirilecek_Satir).Value = TextBox5.Text
[COLOR="Red"]Range("v2") = Range("c2") & "  " & Range("d2")
Range("v3") = Range("c3") & "  " & Range("d3")
Range("v4") = Range("c4") & "  " & Range("d4")
Range("v5") = Range("c5") & "  " & Range("d5")
'   "                 "               "
'   "                 "               "
'   "                 "               "
'   "                 "               "[/COLOR]
 
İşlemlerin bitmesinden sonra bu işlemin yapılması güzel bir fikir.

Bu adımı aşağıdaki kod ile daha kısa bir şekilde yapabilirsiniz.

Kod:
For i = 2 To 25
    Sheets("bilgiler").Cells(i, "v").Value = Sheets("bilgiler").Cells(i, "d").Value & " " & Sheets("bilgiler").Cells(i, "d").Value
Next i
 
İşlemlerin bitmesinden sonra bu işlemin yapılması güzel bir fikir.

Bu adımı aşağıdaki kod ile daha kısa bir şekilde yapabilirsiniz.

Kod:
For i = 2 To 25
    Sheets("bilgiler").Cells(i, "v").Value = Sheets("bilgiler").Cells(i, "d").Value & " " & Sheets("bilgiler").Cells(i, "d").Value
Next i

Syn. Recep İPEK; tekrar teşekkür eder hayırlı geceler dilerim.
 
Geri
Üst