• DİKKAT

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

Paylaşımlı Dosyalardaki Hata

Katılım
21 Şubat 2013
Mesajlar
33
Excel Vers. ve Dili
Excel 2013 - Eng
Merhaba,
VBA aracılığıyla aşağıdaki kodları yazıp rapor kaydettiriyorum. Ancak birden fazla kullanıcının aynı anda giriş yapabilmesi için "shared workbook" haline getirdikten sonra eğer kullanıcılar dosyayı açtıklarında veri tabanında aynı satır boşsa (yani 2 kişi excel'i çalıştırdığında 10. satır boşsa) sonradan ekleyen diğerinin üstüne yazıyor.

Nasıl çözebilirim bunu?

Kod:
Private Sub CommandButton1_Click()

Dim Satir As Long, Say As Byte
Satir = Sheets("rapor").Range("A65536").End(3).Row + 1

Sheets("rapor").Cells(Satir, "E") = TextBox1.Text
TextBox1.Text = ""

Sheets("rapor").Cells(Satir, "B") = ComboBox1.Value
ComboBox1.Value = "----"

Sheets("rapor").Cells(Satir, "A") = TextBox7.Text
TextBox7.Text = ""

Sheets("rapor").Cells(Satir, "C") = ComboBox2.Value
ComboBox2.Value = "----"

Sheets("rapor").Cells(Satir, "D") = ComboBox3.Value
ComboBox3.Value = "----"

Sheets("rapor").Cells(Satir, "F") = TextBox2.Text
TextBox2.Text = ""

Sheets("rapor").Cells(Satir, "G") = TextBox3.Text
TextBox3.Text = ""

Sheets("rapor").Cells(Satir, "H") = TextBox4.Text
TextBox4.Text = ""

Sheets("rapor").Cells(Satir, "I") = TextBox5.Text
TextBox5.Text = ""

Sheets("rapor").Cells(Satir, "J") = TextBox6.Text
TextBox6.Text = ""

Sheets("rapor").Cells(Satir, "K") = Label1.Caption

MsgBox "Ekleme İşlemi Tamamlanmıştır. Şimdi KAYDET'e basınız" & vbLf & "Girdiğiniz veride hata olduğunu düşünüyorsanız KAYDETMEDEN ÇIK a basınız"



End Sub
 
hatanın

Kod:
Dim Satir As Long, Say As Byte
Satir = Sheets("rapor").Range("A65536").End(3).Row + 1

kodunda olduğunu düşünüyorum ama nasıl yapabilirim ki?
 
Merhaba
Paylaşımlı dosyada Refresh olayı var mıdır bilmiyorum, varsa bu size referans olabilir.
 
Yani kaydet butonuna basmadan önce "refresh" etmesi.. Mantıklı görünüyor. Nasıl bir kodla kullanabilirim peki onu?
 
nasıl yapabileceğim hakkında yardımcı olabilecek kimse var mıdır?
 
arkadaşlar hala bulamadım, yol gösterebilecek olan kimse yok mu?

mesela "ekteki hatayı aldığında bir alttaki boş satırdan devam et" şeklinde bir komut koyamaz mıyım?
 

Ekli dosyalar

  • Capture.JPG
    Capture.JPG
    27.9 KB · Görüntüleme: 7
Son düzenleme:
biraz kurcalayarak şunu buldum;

Share Workbook butonuna bastığınızda Advanced kısmında UPDATE CHANGES var. 5 dakika altında giriş yapılamıyor buna. Eğer milisaniyeye çevirebilirsem muhtemelen sıkıntı yaşamam. Makro ile nasıl yapabilirim bunu?

Sub Makro1()
ActiveWorkbook.RefreshAll
End Sub

bunu deneyeceğim, umarım işe yarar
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    38.3 KB · Görüntüleme: 4
Son düzenleme:
Merhaba

Test etme olanağımız olmadığı için yol göstermekten öteye gidemiyoruz.

Excel vba yardım menüsünden "SharedWorkspace.Refresh Method" kısmını inceleyiniz.
 
merhaba,
datayı ekledim, yabacı forumların birinde "shared workbook'larda refresh, create ve change gibi komutlar çalışmaz" demişler.

eğer çalışmazsa şöyle yapayım istiyorum, workbook her açıldığında aktif satır dolu ya da boş olduğuna bakılmaksızın 1 adet atlasın. bu sayede atamayı kaydet tuşuna değil de workbook açılmasına bağlamış olurum ve çakışma olmaz diye düşünüyorum.
 

Ekli dosyalar

Son düzenleme:
Merhaba

Bu şekilde eklenen dosyalardan hiç hazzetmem.


De ki son boş satırdan 100 satır sonrasına kayıt yaptırılsın.
Güncellemeyi 5 dakikaya ayarlayın.
Aktarma kodu çalıştıktan 5 dakika sonra da başka bir kod ile arada kalan boş satırları silin.
 
aslında istediğim bu değildi ama, neyse kendim çözmeye çalışayım çözünce paylaşırım burada.

workbook her açıldığında aktif hücreyi değiştirebilirsem, çakışmayı engellerim diye düşünüyorum.

teşekkürler :)
 
Son düzenleme:
Geri
Üst