Combobox' larla bir hücreden diğer hücreye aktarmak.

Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Merhaba arkadaşlar;
50 adet Combobox' ile 3 adet sütundan seçtiğim verileri başka sütunlara taşımak istiyorum. Bu işlemi
Range("B4").value = Combobox1.Value
Range("B5").value = Combobox2.Value
Range("B6").value = Combobox3.Value
Range("B7").value = Combobox4.Value
" " "
" " "
gibi kodlarla yapıyorum, ancak kod satırları çoğaldığından çalışırken işlemler yavaşlıyo. Daha kulanışlı birkodla bu işlemleri yapmam mümkünmü ?
örnek dosyam ekte.
 

Ekli dosyalar

Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Dosyanızın yapısını bozmayacaksa B4:B13 aralığındaki hücrelere veri doğrulamadan açılır listeler atamanız ve c ve d sütunlarına da düşeyara ile değerleri atamanız daha pratik olabilir.Ana dosyanızın yapısı buysa tabi..
 
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Dosyanızın yapısını bozmayacaksa B4:B13 aralığındaki hücrelere veri doğrulamadan açılır listeler atamanız ve c ve d sütunlarına da düşeyara ile değerleri atamanız daha pratik olabilir.Ana dosyanızın yapısı buysa tabi..
Sn.Peleryn;
Asıl dosayda sayfaya ele hiçbir veri girişi yapılmıyor. Bütün girişler 2 adet UserForm üzerinden yapılıyor. Sayfa üzerinde açılır liste kulanabilmek için dosyadaki foksion, kod ve dosya yapısının yarısından fazlasını değiştirmem lazım. Yinede ilginiz için teşekkür ederim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Nasıl anlayacağız nerde ne oldyuğunu?
1 tane userform1 var ve 10 tanede combobox var .
Kaydet butonundda ise hiç bir kod yok.
Nasıl anlayacağız.50 combobox veya 100 comboboxın aktarılması normalde yavailatmaz.Ama sayfanızda formüller falan varsa ve atadığınız hücrelerle ilişkili ise yavaşlatır.Eğer o formüller birde geniş bir alana referans verilmişse çokda yavaşlatır.Tabii bununda önlemi var.Ama siizn dosyanızdan sorunuzu çözebilmek için hiçbir done yok.:cool:
 
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Nasıl anlayacağız nerde ne oldyuğunu?
1 tane userform1 var ve 10 tanede combobox var .
Kaydet butonundda ise hiç bir kod yok.
Nasıl anlayacağız.50 combobox veya 100 comboboxın aktarılması normalde yavailatmaz.Ama sayfanızda formüller falan varsa ve atadığınız hücrelerle ilişkili ise yavaşlatır.Eğer o formüller birde geniş bir alana referans verilmişse çokda yavaşlatır.Tabii bununda önlemi var.Ama siizn dosyanızdan sorunuzu çözebilmek için hiçbir done yok.:cool:
Sn.Evren Gizlen;
Ana dosyada yapmak istediklerimin yalnızca sorun yaşdığım küçük bir örneğini göndermiştim. O örnekteki iyleştirmeleri ana dosyama kendim uyarlayacaktım.
Ama sorunun dediğiniz gibi aşağıda birkısmı görülen kod ile Combobox' lardan veri tadığım hücrelere bağlantılı
Kod:
Sayfa1.Range("A8").Value = ComboBox17.Value
Sayfa1.Range("A9").Value = ComboBox18.Value
Sayfa1.Range("A10").Value = ComboBox19.Value
aşağıdaki kod ile
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sat As Integer
On Error Resume Next
If Intersect(Target, [a8:a30,f8:f30,ı8:ı30]) Is Nothing Then Exit Sub
For sat = 8 To 30
Cells(sat, "b") = WorksheetFunction.VLookup(Cells(sat, "a"), Range("P8:Q30"), 2, 0)
Cells(sat, "g") = WorksheetFunction.VLookup(Cells(sat, "f"), Range("P8:Q30"), 2, 0)
Cells(sat, "j") = WorksheetFunction.VLookup(Cells(sat, "ı"), Range("P8:Q30"), 2, 0)
Next
End Sub
diğer formüller yavaşlatıyor. bunu biraz iyileştire bilirmiyiz?
Ana dosya aşağıda.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sizin kodlarınzda başka makrolarda çalıştırılıyor.
Onlardada bir kaç döngü yapmışsınız.Orada döngünün boyutu nedir bilemiyecem.
eğer uzun bir döngüyse haliyle yavaşlatacaktır.
formüllerin hesaplamasını geçici olarak iptal etmek için üsttteki kodu butondaki kodların en üstüne koyun.
Altındaki koduda en alta.
Döngüler için koyduğunuz son satırları kontrol ediniz.
Kod:
Application.Calculation = xlCalculationManual
    Application.Calculation = xlCalculationAutomatic
 
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Sizin kodlarınzda başka makrolarda çalıştırılıyor.
Onlardada bir kaç döngü yapmışsınız.Orada döngünün boyutu nedir bilemiyecem.
eğer uzun bir döngüyse haliyle yavaşlatacaktır.
formüllerin hesaplamasını geçici olarak iptal etmek için üsttteki kodu butondaki kodların en üstüne koyun.
Altındaki koduda en alta.
Döngüler için koyduğunuz son satırları kontrol ediniz.
Kod:
Application.Calculation = xlCalculationManual
    Application.Calculation = xlCalculationAutomatic
Sn.Evren Gizlen;
Yazdıklarınızı dikkate alıp dosyda yapabileceğim düzenlemelere bakacağım. Gece vardiyasında çalıştığım için şu anda istirahat edeceğimden, acak akşam dosya üzerinde çalışabilirim. İlginize teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sn.Evren Gizlen;
Yazdıklarınızı dikkate alıp dosyda yapabileceğim düzenlemelere bakacağım. Gece vardiyasında çalıştığım için şu anda istirahat edeceğimden, acak akşam dosya üzerinde çalışabilirim. İlginize teşekkürler.
Rica ederim.
İyi istirahatlar.:cool:
 
Üst