userform çok ağır çalışıyor

Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
Merhaba,

ben bir userform yaptım.
bu userformda combobox ve textbok mevcut

ben excel sayfasında bir şablon oluşturdum.
bu textbooklardaki ve comboboxlardaki verilerin bir kopyasını oraya yaptırıyorum.

ve 2 comboboxta farklı bir excel dosyasından veri alıyor.

ama dosya çok küçük.
neden hızda yavaşlık olur.

bu konuda yardımcı olumusunuz.


ben size dosyayı gönderiyorum.
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
merhaba

arkadaşlar sizden yardımcı olmanızı bekliyorum.
iyi çalışmalar.
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
ustalarım hadi yardımlarınız bekliyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
.xlsm uzantılı dosyanızı office 2007'ye sahip olmadığımız için açamıyoruz. Dosyanızı alt versiyonlarla açılacak şekilde kaydedip yeniden eklermisiniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Verileri ExecuteExcel4Macro yöntemi ile yüklediğiniz için yavaş çalışıyor bence ADO ile verileri bir sayfaya çekerek kullanmayı deneyin.
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
acaba bu dosyada yardımcı olursanız sevinirim.

iyi çalışmalar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Userformun initialize olayındaki tüm kodları silerek aşağıdaki kodları yapıştırın. Bu kodlama sanıyorum bir çok üyemizinde işine yarayacaktır. Veriler sayfaya alınmadan direk olarak comboboxlara yüklenmektedir. Çalışmasıda oldukça hızlıdır.

Kod:
Private Sub UserForm_Initialize()
ComboBox4.ColumnCount = 1
ComboBox4.ColumnWidths = "500;0"
Set baglanti = CreateObject("ADODB.Connection")
baglanti.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\2008.xls" & ";Extended Properties=""Excel 8.0;HDR=no;IMEX=1"";"
Set rs = baglanti.Execute("[2008 Nisan$C2:E65536]")
Do Until rs.EOF
ComboBox6.AddItem rs.Fields(0)
ComboBox4.AddItem rs.Fields(2)
rs.MoveNext
Loop
rs.Close
baglanti.Close
End Sub
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Levent bey;

Bende maalesef, (formattan sonra) ADO çalışmıyor.

Bunu DAO ile düzenlemeniz mümkün mü?

Selamlarımla.
 
Katılım
22 Nisan 2008
Mesajlar
119
Excel Vers. ve Dili
türkçe - office 2003
Dosyayı açarken bu hatayı alıyorum... Bu hata nedir. Neden kaykanlanıyor..?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
İsmail Küçükşengün;266787' Alıntı:
Sayın Levent bey;

Bende maalesef, (formattan sonra) ADO çalışmıyor.

Bunu DAO ile düzenlemeniz mümkün mü?

Selamlarımla.
Sn İsmail bey

DAO konusunda yeterli bilgiye sahip değilim. Konuya vakıf bir üyemiz cevap verirse bende memnun olurum. Bende konuyu araştıracağım sonuç alırsan eklerim. Bu arada sizde office yüklemenizi tam yükleme olarak yenilemenizi öneririm.


Dosyayı açarken bu hatayı alıyorum... Bu hata nedir. Neden kaykanlanıyor..?
Araçlar-makro-güvenlik seviyenizi düşük olarak ayarlayın.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Araçlar-makro-güvenlik-güvenilen yayımcılar-visual basic erişimine güven kutusunu işaretleyin.
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
levent bey üstadım çok teşekkür ederim.
form hızlandı.
daha sizlerden çok öğrenecek şeylerim var.
inşallah esirgemezsiniz.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,274
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
DAO da ADO dan çok farklı değildir. Referans yerine CreateObject ile çağırdım.

Kod:
Private Sub UserForm_Initialize()
ComboBox4.ColumnCount = 1
ComboBox4.ColumnWidths = "500;0"

'// DAO.DBEngine nesnesi...
Set DBEngine = CreateObject("DAO.DBEngine.36")

Set baglanti = DBEngine.OpenDatabase( _
    ThisWorkbook.Path & "\2008.xls", 0, 0, "Excel 8.0")

Set rs = baglanti.Execute("[2008 Nisan$C2:E65536]")

Do Until rs.EOF
    ComboBox6.AddItem rs.Fields(0)
    ComboBox4.AddItem rs.Fields(2)
    rs.MoveNext
Loop

rs.Close
baglanti.Close


End Sub
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
Dao'mu Hizli Ado'mu

Üstadım bu işi çözemedim.
Adomu hızlı Daomu bu konuda aydınlatırsan sevinirim.

iyi çalışmalar.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,274
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Üstadım bu işi çözemedim.
Adomu hızlı Daomu bu konuda aydınlatırsan sevinirim.

iyi çalışmalar.
Bir ara merak edip test etmiştim. :) İlk seferde DAO hızlı çıkmıştı. Sonrakilerde ADO geçti. Zaten aralarında zaman açısından önemli fark yoktur. 1 sn. ve altındadır.
 
Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
çok teşekkür ederim üstadım
 
Üst