bu dongu nasil hizlandirilir?

Katılım
14 Nisan 2006
Mesajlar
71
temp1 = 10
temp2 = 7
temp3 = 20
For X = (temp1 - 5) To (temp1 + temp3 - 6)

Worksheets("Test").Range("A" & temp2).Value = Worksheets("Data").Range("C" & temp1).Value
Worksheets("Test").Range("B" & temp2).Value = Worksheets("Data").Range("D" & temp1).Value
Worksheets("Test").Range("C" & temp2).Value = Worksheets("Data").Range("E" & temp1).Value
Worksheets("Test").Range("D" & temp2).Value = Worksheets("Data").Range("F" & temp1).Value

Boyle bir dongu var bu sadece A, B, C, D degil daah AK ya kadar devam ediyor.
Dolayisiyla cok yavas calisiyor. Tek tek her satiri girdigi icin
Ornegin Clear icin soyle bir sey kullaniyorum acaba aynisi burada da mumkun olur mu?

Worksheets("ATN").Range("A7:AG250").Clear


cok gusel A sutunundan AG nin 250. satirina kadar tum hucreleri temizliyor.

Yukaridaki durumda hizlandirmak icin su tarz bisey mi yazmaliyim :

Worksheets("Test").Range("A:AG" & temp2).Value = Worksheets("Data").Range("C:AI" & temp1).Value

Ama bu sekilde calismiyor,

ne önerirsiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,698
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Döngünüzde X değerini hiç kullanmamışsınız. Ayrıca hangi hücrelere tam olarak ne yapmak istediğinizi yazarsanız yardımcı olmak isteyen arkadaşlarımıza da kolaylık olur. :arkadas:
 
Katılım
14 Nisan 2006
Mesajlar
71
COST_CONTROL' Alıntı:
Selamlar,

Döngünüzde X değerini hiç kullanmamışsınız. Ayrıca hangi hücrelere tam olarak ne yapmak istediğinizi yazarsanız yardımcı olmak isteyen arkadaşlarımıza da kolaylık olur. :arkadas:
X'i kullanmadim Xin oradaki tek esprisi 10 kere o islemi tekrarlasin diye,

orada bir nokta daha var
temp2 ve temp1 her donmede bir artiyor, dongunun sonunda soyle yazdim
temp2 = temp2 + 1
temp1 = temp1 + 1

maksadim bir yerden bir yere kopyalama yapmak faat bu sekilde olmak zorunda dongu halinde
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,698
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kopyalamak istediğiniz hücre aralığını belirtirseniz yada en iyisi konuyla ilgili küçük bir örnek dosya ekleyin üzerinden gidelim daha sağlıklı olur.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
etobus amacınız bir taraftanda öğrenmekse sn.Cost Control'ün dediği kopyalama işini yapmak için makro kaydediciden faydalanabilirsiniz. Kopyalanacak bir satırdaki tüm hücreleri komple seçip öbür sayfada kopyalamanın başlayacağı ilk hücreyi seçip copy paste special values/özel yapıştır değerler yapıp kodu inceleyin. sanırım hüce referanslarını değiştirmeyi biliyorsunuz fazla sorun yaşamadan yapabilirsiniz belki ve bir daha unutmazsınız.
 
Katılım
14 Nisan 2006
Mesajlar
71
Dediginiz gibi yaptim yani hucre hucre kopyalamaktansa satir satir kopyalarak yazdim fakat soyle bir sorun var.

Worksheets("Data").Range("C" & temp1).Select
Worksheets("Data").Range(Selection, Selection.End(xlToRight)).Select


Ben C sutunundan ve 7. satirdan o satirin sonuna kadar kopyalama yapicam yani bir dongu seklinde ardindanda C sutunu 8. satir, vb..

Dongude sorunum yok fakar Bu End(xlToRight) o satirin sonuna kadar secim yapmiyor. Sadece E sutununa kadar oln kismini kopalyor satirlarin.
Dolayisiyla E sutunundan sonraki degerleri kopyalamiyor.

Ne yapmaliyim?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,698
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek bir dosya eklermisiniz. Yapmak istediğinizin önceki ve makro çalıştırdıktan sonraki halini belirtirseniz ona göre yardımcı olmaya çalışalım. :arkadas:
 
Katılım
14 Nisan 2006
Mesajlar
71
COST_CONTROL' Alıntı:
Örnek bir dosya eklermisiniz. Yapmak istediğinizin önceki ve makro çalıştırdıktan sonraki halini belirtirseniz ona göre yardımcı olmaya çalışalım. :arkadas:
merhaba, dosyayi ekledim. cevabinizi bekliyorum icin cok onemli
 
Katılım
14 Nisan 2006
Mesajlar
71
COST_CONTROL' Alıntı:
Örnek bir dosya eklermisiniz. Yapmak istediğinizin önceki ve makro çalıştırdıktan sonraki halini belirtirseniz ona göre yardımcı olmaya çalışalım. :arkadas:
bakabildiniz mi acaba?
 
Katılım
14 Nisan 2006
Mesajlar
71
etobus' Alıntı:
COST_CONTROL' Alıntı:
Örnek bir dosya eklermisiniz. Yapmak istediğinizin önceki ve makro çalıştırdıktan sonraki halini belirtirseniz ona göre yardımcı olmaya çalışalım. :arkadas:
merhaba, dosyayi ekledim. cevabinizi bekliyorum icin cok onemli

Sebebini anladim

Worksheets("Data").Range(Selection, Selection.End(xlToRight)).Select

Bu islem suna karsilik geliyor. Data sayfasinda sectigin noktadan CTRL tusu ile sag kadar gittiginizde geldigi yeri seciyor. Ama bunu nasil duzelticem?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,698
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı inceleyiniz. Filtreleme yöntemiyle aktarım işlemi yapılmaktadır.
 
Üst