Kapalı dosyanın son boş hücresine kayıt eklemek

Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
Merhabalar,

Elemanların her biri için birer tane excel dosyam var. Bu dosyaları veritabanı olarak kullanıyorum. Kapalı dosyadaki verileri aşağıdaki şekilde güncelleyebiliyorum. Form2 den bilgileri form3 teki ilgili yerlere yazdırıp form3 ile güncelleme yapıyorum.

Private Sub UserForm_Initialize()
lbladi.Caption = UserForm2.lbladi.Caption
txtgorev.Text = UserForm2.lblgorevi.Caption
txtaktifgorev.Text = UserForm2.lblaktifgorev.Caption
txtgcikis.Text = UserForm2.lblgcikis.Caption
txtgunsayisi.Text = UserForm2.lblgbulundugu.Caption
End Sub

Private Sub CommandButton1_Click()
Dim conn As Object, rs As Object, comm As Object, guncel As String
Set conn = CreateObject("AdoDb.Connection")
Set rs = CreateObject("AdoDb.Recordset")
dosya = lbladi.Caption
conn.Open "Provider=Microsoft.ace.oleDb.12.0;Data Source=" & ThisWorkbook.Path & _
"\" & dosya & ".xlsx" & ";Extended Properties=""Excel 12.0;HDR=yes"""
rs.Open "select * from [Sayfa1$];", conn, 1, 3
rs("gorevi") = txtgorev.Text
rs("aktifgorev") = txtaktifgorev.Text
rs("gcikistarihi") = txtgcikis.Text
rs("gbulundugugun") = txtgunsayisi.Text
rs("kalanmizni") = txtkalanmizni.Text
rs("kullandigimizni") = txtkulmizni.Text
rs("raporluoldugugunsayisi") = txtraporgun.Text
rs("kalansenelikizin") = txtkalanizin.Text
rs("devamsizoldugugunsayisi") = txtdevamsiz.Text
rs.Update
Set rs = Nothing
conn.Close
MsgBox "Güncelleme işlemi tamamlandı."
End Sub

Yalnız şunu çözemedim;

İlgili kişinin kapalı dosyasının L-M-N-O-P sütunlarındaki hücreler geçmiş görev bilgilerini yansıtacak. Örnek olarak yukarıdaki aktifgorev bölümünü gidip geçmiş görev bilgilerinin en sonuna ekleyecek. Şuanda örnek olarak 3 er satır bilgi girdim. Userform'dan güncelle butonuna bastığımda textbox'taki bilgiyi alıp L sütununun en son boş hücresine atacak ve sırasıyla istediğim diğer textboxlardaki bilgileri ilgili M-N-O-P sütunlarındaki son boş hücreye ekleyecek.

Yardımlarınız için şimdiden teşekkürler,
İyi çalışmalar,
 
Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
üstadlar, cevap verebilecek kimse yokmudur ?

En azından kapalı dosyadaki son dolu hücre hangi formülle bulunur o konu hakkında bir mantık yazarsanız gerisini getirmeye çalışacağım,

Teşekkürler,
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Bu satırdan sonra; rs("gorevi") = txtgorev.Text

Bu satırı ilave ederek bir deneyin; rs.addnew

Yani ilgili kısım bu şekilde olsun;
Kod:
rs.Open "select * from [Sayfa1$];", conn, 1, 3

rs.AddNew

rs("gorevi") = txtgorev.Text
 
Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
Murat Bey,

Çok teşekkür ederim yol gösterdiğiniz için. İlgili kısmı şöyle hallettim. Görünmez bir lable ekledim. Userform2 den gelen görev bilgisini userform3 açılışında bu lable a atadım. Sonra sorgumun son bölümünde dediğiniz gibi rs.Addnew satırını ekleyip rs("eskigorev") = lbleskigorev.caption olarak son satıra eklemesini sağladım.

Tekrardan ellerinize sağlık, iyi çalışmalar.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Rica ederim, iyi günler. :eek:k::
 
Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
Murat Bey,

Başka bir sorun var,

rs.AddNew
rs("eskigorev") = lbleskigorev.Caption
rs("hangiproje") = lblhangiproje.Caption
rs("gorevecikistarihi") = lblgcikistarihi.Caption
rs("gorevdonustarihi") = lbldonusgunu.Caption
rs("kacgundeprojeyibitirdi") = lblkacgunde.Caption

Bu şekilde istediğim label lara atama yaptığımda 4 satır boşluk bırakıp alta yazıyor. Ben bunları yan yana ilk boş satırdan itibaren yazdırabilmek için nasıl bir döngü kurmalıyım ?

Teşekkürler,
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
4 satır boşluğun olduğu satırları satır başlıklarından seçip silin ve öyle bir deneyin.

Olmaz ise dosyanızı ekleyin öyle bir bakalım.
 
Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
Üstadım, aslında ilginç bir konu var. Satırları en baştan sildiğimde başa yazıyor. Ancak hücreyi satırdan seçmeyip silince hücre boş olduğu halde dolu algılıyor bir alta yazıyor diye görüyorum. Dediğiniz gibi satırları sildiğimde sorun çıkmıyor. Ama satırdan seçmeyip sadece hücreyi sildiğimde neden hücreyi boş algılamıyor ? Bunun bir mantığı varmıdır ?
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Size göre ilginç evet.

Veri aktarılmış, girilmiş, yazılmış, silinmiş son satırı, veri aktarılmış, girilmiş, yazılmış, silinmiş son satır olarak hafızaya kaydeder. ;)
VBA'daki SpecialCells(xlCellTypeLastCell) gibi düşünebilirsiniz. Araştırma yaparsanız bu konuda da bilgi sahibi olabilirsiniz.
 
Katılım
18 Şubat 2005
Mesajlar
8
Excel Vers. ve Dili
2003
Anladım çok teşekkür ederim, bu konuyu araştıracağım. Yardımınız için tekrardan teşekkür ederim. Rs.Addnew gibi ufak bir yazıyla çözüleceği hiç aklıma gelmemişti ne range ler ne sorgular denedim :)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Üst