Paylaşımdaki dosyadan güncelleme hakkında...

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhabalar;
İş yerinde paylaşımda olan bir excel dosyasından yine iş yerinde kendi bilgisayarım da açmış olduğum bir dosyaya veri almak istemiştim.Hali hazırda bu işlemi formül kullanarak yapmaktayım.Yaklaşık 9000 satır liste oldu.Formül olunca sanırım sayfa geç açılmaya başladı.Acaba bu güncellemeyi kendi sayfama koyacağım bir buton ile yapmak mümkün mü? Kapalı dosyalardan ver almak konusunda yapılan çalışmaları inceledim ama inanın kodları değiştirmeye çalıştım beceremedim.
Bu iş deki amacım paylaşımdaki hasta listesini kendi dosyamda güncellemek.
Kısaca anlatacak olursam;

Kendi dosyama koyduğum formül,(paylaşımdaki dosyadan aktardığım dosya yolu),

"='\\Adf\n$\[NUMUNE KABUL HASTA LİSTES.xlsx]HASTA LİSTESİ'!B1" bu formülü yanlamasına Q1 'e kadar çekiyorum.Sonra komple alt kısma çekiyorum.Bu şekilde uzatarak yaklaşık 9000 satır oldu.:-( Bu yüzden sanırım sayfamda geç açlıyor:-(
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Herhangi bir koşul olmadan belirli bir hücre aralığından veri mi alınacak.

. . .
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
. . .

Herhangi bir koşul olmadan belirli bir hücre aralığından veri mi alınacak.

. . .
Evet Hüseyin Bey,koşul koymadan paylaşımdaki dosyanın "hasta listesi" sayfasındaki "B1:Q1" aralığındaki verilerin kendi sayfamdaki "hasta listesi" sayfasına aynı düzende almak istiyorum.Şu an bunu formül ile yapıyorum.Yani;
"='\\Adf\n$\[NUMUNE KABUL HASTA LİSTES.xlsx]HASTA LİSTESİ'!B1"
"='\\Adf\n$\[NUMUNE KABUL HASTA LİSTES.xlsx]HASTA LİSTESİ'!C1"
..
Bu şekilde yapıyorum.Bunu formül kullanmadan buton ile yapmak mümkün mü diye merak ediyorum.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,623
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Yeşim hanım merhaba,

Ortaktaki dosyanın üzerinde sağ tıklayarak Özellikler>Güvenlik penceresindeki nesne adını yazabilir misiniz?

Birde ortaktaki dosyadan başlıkları istemiyorsunuz galiba sadece verilerin gelmesi yeterli sanırım, komple bütün veri gelse sorun olur mu?

A sütununda hangi bilgi var yada takip eden bir sayı numarası var mı,verilerin arasında boş satır yada birleştirilmiş hücre var mı?

Mümkünse örnek bir dosya paylaşabilir misiniz?
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Sayın Kuvari Bey,öncelikle merhabalar,
Sorularınızı cevaplarsam;

1-Nesne adı :" \\Adf\n$\NUMUNE KABUL HASTA LİSTES.xlsx"

2-Evet başlıkları almasam olur,sadece veriler gelse yeterlidir.Komple olabilir elbette,zaten ben kendi sayfamı oradaki sayfayla güncel tutmam gerekiyor.Oraya hasta girişi olduğunda benim sayfamda o hasta görünmesi gerekiyor.

3-A sütununda hasta sıra numaraları var.Verilerin arasında boş satır yada birleştirilmiş hücre yok.

4-Örnek yani listelerin olduğu sayfalarımı içeren dosyam.Umarım ekleye bilmişimdir.
http://dosya.host/f/pBiSE
 
Son düzenleme:

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Sub KOD()
    
    Dim con As Object: Set con = CreateObject("adodb.connection")
    Dim rs As Object: Set rs = CreateObject("adodb.recordset")
    
  [COLOR="Green"]  'YOL="\\Adf\n$\NUMUNE KABUL HASTA LİSTES.xlsx"[/COLOR]
    YOL = ThisWorkbook.Path & "\NUMUNE KABUL HASTA LİSTES.XLSX"
    
    con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & _
    YOL & ";Extended Properties=""Excel 12.0;HDR=No"""
    
    sorgu = "select * from [HASTA LİSTESİ$A1:R65536]"
    rs.Open sorgu, con, 3, 1
    
    If rs.RecordCount > 0 Then
        Range("A1").CopyFromRecordset rs
    End If
    
    rs.Close
    
    Set con = Nothing: Set rs = Nothing: sorgu = ""
    
End Sub
. . .
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,623
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Kodu dener misiniz?

Kod:
Sub al()

Range("a2:r" & Cells(Rows.Count, "a").End(3).Row).ClearContents

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
" \\Adf\n$\NUMUNE KABUL HASTA LİSTES.xlsx" & ";extended properties=""Excel 12.0;hdr=yes"""


sorgu = "select * from [HASTA LİSTESİ$]"

Set rs = con.Execute(sorgu)

Range("a2").CopyFromRecordset rs

End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Hüseyin Bey,ilginize teşekkür ederim.Kodları modüle yapıştırdım.(Yeşil olan satır vardı değiştirmeden) Kendi listemin olduğu sayfaya da buton ekledim ama olmadı:-( Nerede yanlış yaptım acaba:?:
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Hüseyin Bey,ilginize teşekkür ederim.Kodları modüle yapıştırdım.(Yeşil olan satır vardı değiştirmeden) Kendi listemin olduğu sayfaya da buton ekledim ama olmadı:-( Nerede yanlış yaptım acaba:?:
. . .

Dosyanız ektedir.

Önce örnek dosyanıza göre deneyin. Daha sonra gerçek dosyaya göre yol satırını değiştirin.

. . .
 

Ekli dosyalar

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Kodu dener misiniz?

Kod:
Sub al()

Range("a2:r" & Cells(Rows.Count, "a").End(3).Row).ClearContents

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
" \\Adf\n$\NUMUNE KABUL HASTA LİSTES.xlsx" & ";extended properties=""Excel 12.0;hdr=yes"""


sorgu = "select * from [HASTA LİSTESİ$]"

Set rs = con.Execute(sorgu)

Range("a2").CopyFromRecordset rs

End Sub

Hüseyin Bey,bu kodlarınızı görmemiştim. Şimdi bu kodlarınızı denedim,butona bastığımda veriler geldi fakat bir kaç ricam olacaktı.Şöyle ki;
1- Butona bastığımda veriler sürekli en baştan itibaren güncelliyor sanırım. Orjinal listemde yaklaşık 9000 satırlı veri var. Şİmdi onda denediğimde tamam veriler geldi.Tekrar bastım butona bu sefer en baştan başladı.
Acaba diyorum ki,ilk bastım butona veriler geldi sıra numaramız 7999 oldu.Sonra bastığımda hasta girilmiş ise 7999 olan listenin hemen altına yazsın.Yani tekrar önceki listeyi silip baştan yazmama ihtimali var mı ? Çok karışık oldu sanırım ama umarım anlatabildim istediğimi:-(

2- Son olarak veriler geldikten sonra paylaşımdaki dosyada açık kalıyor ,acaba paylaşımdaki bu dosyayı ben hiç görmesem olur mu ?
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Hüseyin Bey,bu kodlarınızı görmemiştim. Şimdi bu kodlarınızı denedim,butona bastığımda veriler geldi fakat bir kaç ricam olacaktı.Şöyle ki;
1- Butona bastığımda veriler sürekli en baştan itibaren güncelliyor sanırım. Orjinal listemde yaklaşık 9000 satırlı veri var. Şİmdi onda denediğimde tamam veriler geldi.Tekrar bastım butona bu sefer en baştan başladı.
Acaba diyorum ki,ilk bastım butona veriler geldi sıra numaramız 7999 oldu.Sonra bastığımda hasta girilmiş ise 7999 olan listenin hemen altına yazsın.Yani tekrar önceki listeyi silip baştan yazmama ihtimali var mı ? Çok karışık oldu sanırım ama umarım anlatabildim istediğimi:-(

2- Son olarak veriler geldikten sonra paylaşımdaki dosyada açık kalıyor ,acaba paylaşımdaki bu dosyayı ben hiç görmesem olur mu ?
. . .

Kodlama Sy Kuvari' ye ait.

Listeyi temizleme kısmında. Listeyi aldıktan sonra siz üzerinde değişiklik yapıyor musunuz.
Silmesinde sakınca var mı.

Kendi kodlarımın uygulaması aşağıdaki linktedir.
http://www.excel.web.tr/f48/payla-ymdaki-dosyadan-guncelleme-hakkynda-t149695/post814619.html


. . .
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,623
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Hüseyin Bey,bu kodlarınızı görmemiştim. Şimdi bu kodlarınızı denedim,butona bastığımda veriler geldi fakat bir kaç ricam olacaktı.Şöyle ki;
1- Butona bastığımda veriler sürekli en baştan itibaren güncelliyor sanırım. Orjinal listemde yaklaşık 9000 satırlı veri var. Şİmdi onda denediğimde tamam veriler geldi.Tekrar bastım butona bu sefer en baştan başladı.
Acaba diyorum ki,ilk bastım butona veriler geldi sıra numaramız 7999 oldu.Sonra bastığımda hasta girilmiş ise 7999 olan listenin hemen altına yazsın.Yani tekrar önceki listeyi silip baştan yazmama ihtimali var mı ? Çok karışık oldu sanırım ama umarım anlatabildim istediğimi:-(

2- Son olarak veriler geldikten sonra paylaşımdaki dosyada açık kalıyor ,acaba paylaşımdaki bu dosyayı ben hiç görmesem olur mu ?
Merhaba,

Hüseyin bey ile ikinci defa karıştırılma durumu yaşıyorum :)

1. Verilerin tekrar gelmesi hız açısından ise sorun yaratmaz,böyle kullanmaya devam edebilirsiniz.Başka birşey için istiyorsanız dediğinizi yapabilirim ama buda bence sağlıklı olmaz. Bunun için ortaktaki dosyanızda herhangi bir silme işleminin olmaması lazım.Eksik veri çekilebilir. Siz kendi dosyanızda veri çekildikten sonra değişiklik yapıyor musunuz?

2.Paylaşımdaki dosyanızı bu kod açmaz. Dosyanız açık ise salt okunur olarak açabilir.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Nolur kusuruma bakmayın.İş yerindeyim.İnanın farketmemişim. Hüseyin Bey'in kodlarını görünce ben yapamadım diye mesaj yazdım.Ama o arada kuvari Bey,cevap yazmış.Bende sandım ki Hüseyin Bey'in düzeltme kodları:)
Her iki kodları da deniyorum ve ikisi de gerçekten güzel oldu.Fakat kuvari Beyin dediği gibi salt okunur açıyor,paylaşımdaki dosyayı sürekli..Acaba açmaması için bir şey yapılabilir mi? Çünkü paylaşımda olmayan Hüseyin Bey'in eklediği normal bir klasörde yapınca veri alınan sayfa açılmıyor hiç.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,623
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Nolur kusuruma bakmayın.İş yerindeyim.İnanın farketmemişim. Hüseyin Bey'in kodlarını görünce ben yapamadım diye mesaj yazdım.Ama o arada kuvari Bey,cevap yazmış.Bende sandım ki Hüseyin Bey'in düzeltme kodları:)
Her iki kodları da deniyorum ve ikisi de gerçekten güzel oldu.Fakat kuvari Beyin dediği gibi salt okunur açıyor,paylaşımdaki dosyayı sürekli..Acaba açmaması için bir şey yapılabilir mi? Çünkü paylaşımda olmayan Hüseyin Bey'in eklediği normal bir klasörde yapınca veri alınan sayfa açılmıyor hiç.
Yeşim hanım merhaba,

Eğer dosya açıksa salt okunur kopyasını kesin açacaktır.

Kodun altına ActiveWorkbook.Close False eklenebilir, salt okunur açılan dosya veri alındıktan sonra kapatılır yada dosyanın adı da belirtilebilir.

Bunu önlemenin en doğru yolu ise veritabanı olacak access kullanmaktır. Excel üzerinden çoklu kullanıcılar access'e kayıt atar ve ordan veri okunabilir. Bunu yapmak için herşeyi baştan tasarlamak ve yerinde yapmak gerekir.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Sayın Hüseyin ve Kuvari Bey,ilginizden dolayı çok çok çok teşekkür ederim.Gayet güzel oldu.:bravo::dua2::mutlu::mutlu:
Kuvari Bey,kodların sonuna ekledim son dediğinizi sanırım bu şekilde daha uygun oldu.Tekrar sağ olun iyi çalışmalar dilerim.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,623
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Yeşim hanım size de iyi çalışmalar.
 
Üst