Eğer K sütunundaki değer değerler1 ise seç ve kopyala

Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Merhaba,
Öncelikle İyi Bayramlar..

Yapmaya çalıştığım komut başlıktaki gibi;
Eğer K sütunundaki değer değer 1 ise 1 değerinin bulunduğu o satırı seç ve bir alttakine bak eğer o da 1 ise onun içinde aynı eylemi yap ve kopyala. daha sonra başka bir sayfanın b3 sütunundan itibaren yapıştır.

Komut bu şekilde aşağı doğru yaklaşık 100 satırı kontrol edicek sanırım döngü ile halledilebilir.

Ayrıca aktar butonunu koyudugum sayfada birde örneğin L2 hücresinde sayfa numarası olacak(1 den 30 a kadar ayın günerini içeren sayfalar var). Ben o hücreye hangi sayfa numarasını yazarsam Aktar a bastıgımda benim yazdıgım sayfadaki verileri kopyalaması gerekior..

Şu koddan yararlanarak bişiler yapmaya çalıştım ama gordugunuz gibi kod biraz farklı. Yani çalıştıgın sayfada bulunan verileri başka sayfalara kategorize ediyor. Üzerinde oynamalar yaparak denedim büsürü şey ama beceremedim. Bu konuda cok yeniyim :)
Kod:
Sub aktar()
Set s1 = Sheets("aktarılan işler")
For sayfa = 2 To Sheets.Count
For bak = 1 To [e65536].End(3).Row
If Sheets(sayfa).Name = s1.Range("e" & bak).Value Then
s1.Range("e" & bak).EntireRow.Copy
s = WorksheetFunction.CountA(Sheets(sayfa).Range("e1:e65536")) + 1
Sheets(sayfa).Range("a" & s).PasteSpecial Paste:=xlValues
End If
Next
Next
Application.CutCopyMode = False
End Sub
Yardımlarınız için simdiden teşekkürler.
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sorunuzu örnek bir dosya ile destekleyiniz. Daha çabuk yanıt alırsınız.
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
merhaba..

örnek kod'unuz mutlak çalışır.
arattığınız sayı olduğu için şu satırı:

If Sheets(sayfa).Name = s1.Range("e" & bak).Value Then

aşağıdakiyle değiştirip dosyanıza uyarlayın

If Sheets(sayfa).Name = s1.Range("e" & bak).Text Then

uyarlayamazsanız örnek dosya ekleyiniz.
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Merhaba,

@cebir
Aslında benim bahsettigim bu değildi ama ilgin için cok teşekkürler. Daha detaylı bir şekilde anlatıp bir örnek dosyayla tekrar sunacağım.

@Necdet
İlgin için teşekkürler, Örnek dosya gelior..
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
merhaba

bahsettiğiniz şekle uygulanabilir.
eki inceleyiniz.
değiştirildi....
 
Son düzenleme:
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Arkadaşlar ekte ornek şablon var. Herhangi bir makro yok. Hesap sayfasından diğer sayfalara yani ayın günleri olan sayfalara kopyalama yapılacak. Hesap sayfasında bütün müşteriler olacak, ve hesap sayfası üzerinde o günkü girişleri yapıcam sonra da Aktar butonuna bastığımda K sütununda 1 yazan satırları(müşterileri) L3 satırna yazdığım güne(sayfaya) kopyalayacak

Gerçekten çok teşekkürler..
 
Son düzenleme:
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
@cebir.
Çok sağol fakat, bu sanırım benim hatam, ilk mesajımda verdigim formulu başka bi forumdan bi kopyalama örneği olarak almıştım. Onun üstünde denemeler yaparak bişiler yapmaya calısmıstım. Bunu açık belirtmemişim. Özür dilerim tekrardan. Verdigin dosya güzel olmus ama ileride yapabilcegim deişiklikler için biraz karmasık...
Eğer verdiğim ornek.xls de bahsettigim açıklamalara göre kod yazabilrmiyiz? Çünkü anladıgım kadarıyla önceki kodda, K sütununda bulunan verilerden örneğin; "eğer 2 yazıyosa aynı isimli sayfaya kopyala, eğer 1 yazyıyosa aynı isimli sayfaya kopyala" mantıgı var, benm yaptıgım ornek.xls de K sütununda sadece 2 farklı değer girilecek ztn "1 ve 2".

Umarım iyice anlatabilmişimdir. Yardımlarınız için çok çok teşekkürler... Saygılar.
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
@cebir
Bu kod gerçekten cok güzel olmuş fakat bir hata var. L3 değerini 2 yaptığımda 2. sayfaya yalnızca kişi isimlerini kopyalıyor..
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Ayrıca sadece isimleri kopyalıyor derken. Sanırım 1. sayfaya sadece K sütünundaki değerleri 1 olanları 2. sayfaya ise değerleri 2 olanları kopyalıyor. Burada değerleri 2 olanlarla bir işlemimiz yok. Ayrıca Sayfalar 30 a kadar olacak. onun için sayfaya baglı bi kod olmaması gerekiyor sanırım. Teşekkürler. Saygılar..
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
@Cebir
Dostum sorunu Çözdüm. Yardımların için teşekkürler
Bu satır şu şekilde olması gerekiormuş

If Left(s1.Cells(a, "k"), Len(Range("l3").Text)) = 1 Then


Yani L3 eşit olanları deilde 1 e eşit olanları kopyalaması gerektiğini sölemiştim ya onu buradan hallettim. Sanırım biraz vb den anlamaya başladım en azından ne kastettiğinden :)

Teşekkürler...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Cebir'i anladım da, @Cebir ne olakine?
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Yani aşağıda yazdığım Cebir'e cevap yada soru, anlamında. Aslına bakarsan (at) yani Cebir'de anlamı katıyor gibi geliyor ama, yabancı ve/veya Türk forumlarda çok gördüm bu şekilde iletileri :)
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Bir insana hitap ederken, Bay Ahmet, Bayan Ayşe demek size yetmiyor da, Ahmetde, Ayşede (üstelik Türkçe kurallara uymayan bir hitap şekli) gibi bir saçma sapan hitap şeklini neden seçiyorsunuz?

Merak ettim doğrusu.
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Açıkçası alışkanlık olmuş diyebilirim. Yabancı forumların etkisi çok tabii... Düzeltmeye çalışıyorum.. Uyardığın için teşekkürler :)
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Şimdi,

Son birşey daha sormak istiyorum. If komutunda mantıksal sınama bölümüne yani;

If (değer)=(değer) Then

yerine, iki sınama yaptırabilirmiyiz yapılacaksa nasıl ?

If (değer)=(değer) [ve] (değer2)=(değer2) Then (işlem)

ve yerine And mi kullanıyoruz?


Yapmaya çalıştığım satır;
If Left(s2.Cells(a2, "a"), Len(Range("m2").Text)) = M And Left(s2.Cells(a, "k"), Len(Range("l2").Text)) = 1 Then

Ayrıca burdaki Len(Range("hücre adı").Text)) neyi ifade ediyor?
 
Katılım
21 Aralık 2007
Mesajlar
11
Excel Vers. ve Dili
2007
Türkçe
Arkadaşlar en son yazdığım sorunumu da çözdüm. "And" ile oluyormuş.. Ben başka yerde hata yapmışım. Şuanda sorunsuz çalışmakta. İlginiz ve yardımlarınız için teşekkür ederim. Tekrardan İyi Bayramlar....
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
yol gösterelim..

ilgilenelim...
 
Son düzenleme:
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
bu arada

cost_control e merhaba...
 
Son düzenleme:
Üst