Forumdaki yazıları okudum; fakat tam istediğim gibi bir çözümle karşılaşamadım. Size örnek olması açısından bir adet dosaya koyuyorum orada açıklamayı görebilirsiniz.
Çok güzel olmuş gibi görünüyor ama nasıl yaptığını çözemedim. Sanırsam bir makro var. Kod görüntüle dediğim zaman boş çıkıyor, funkres dosyasını açmaya çalıştığım zamanda şifre veriyor.
Kod varsa kodlara ihtiyacım olucaktır, çünkü örnek olması açısından buraya bir kısım datayı yapıştırdım. Kamyon sayımız maalesef 3 ten fazla hatta 10dan bile fazla.
Evet çözüm makro ile yapılmıştır. Kodlara ulaşmak için dosyayı açın ve ALT+F11 tuşlarına basın kodlar direk karşınıza gelecektir.
Eğer orjinal dosyanızda da tablo yapısı örnek dosyanızdaki gibiyse makroda bir değişiklik yapmanıza gerek yok. Zaten kodu esnek olacak şekilde yazmıştım.
Eğer yinede yardıma ihtiyacınız olursa buraya sorunuzu yazın çözmeye çalışırız.
Veri aktarma ile ilgili yardımın için teşekkürler. Foruma yazdıktan sonra kodları açabildim. Fakat kodları tamamen anlayabilmiş değilim. Kısaca açıklayabilecek olursan devamını çözerim gibi geliyor.
Genel sorular olarak,
For x=3 kısmında 3 vermen 3 kamyon yazdığım için midir?
S2. Range formülleriyle ne yapmayı amaçladın?
Spesifik sorular olarak;
Sayfa2'deki verileri c sutununa değilde g sutununa yazdırmak için özel birşey yapmak gerekli midir? (sanırım S2. RAnge formülündeki C leri G yapmak yeterli?)
1. Sorunuz;
Buradaki 3 değeri Sayfa1 deki Kamyon1 in başladığı sütunu yani C sütununu ifade etmektedir. A sütununda saymaya başlarsanız C sütunu 3. sütundur.
2. Sorunuz;
Satır ifadesi ise Sayfa2 deki en son boş satırı ifade etmektedir. Aktarılacak verinin Sayfa2 de hangi satıra aktarılması gerektiğini ifade eder. Dikkat ederseniz Satır ifadesi S2.[A65536].End(3).Row + 1 ifadesi ile eşitlenmiştir.
Bu komut şu işi yapar; Boş bir excel sayfası açın. A sütununda en son hücreyi seçin yani (A65536) daha sonra END tuşuna basın ve YUKARI OK tuşuna basın. A1 hücresinin seçili olduğunu göreceksiniz. Şimdi A sütununa bir kaç veri girerek işlemi tekrar yapın. En son veri girdiğiniz hücre otomatik olarak seçilecektir. İşte bu yaptığınız işlemleri bu komutu kullanarak hallediyoruz.
Gelelim +1 kısmına seçilmiş olan hücre dolu bir hücre olduğu için bizim işimize yaramamaktadır. O yüzden satır nosuna 1 ekleyerek boş hücrenin satır nosunu elde etmiş oluyoruz.
3. Sorunuz;
S2 değişkeni Sayfa2 yi ifade etmektedir. Normalde makro kaydet yöntemi ile başka bir sayfaya veri aktarımı yapan bir işlem yapmak istediğimizde excel bize otomatik olarak "Sheets("Sayfa2").Range("A1")" şeklinde bİr kod bloğu oluşturur. Ama bizler pratik olsun diye sayfa isimlerini kısa isimler vererek (S1,S2 gibi) hafızaya alırız.
Sheets("Sayfa2").Range("A1") yerine sadece S2.[A1] yazarak kodu kısaltmış oluyoruz. Buda bize uzun kod yazılımlarında zaman kazandırmaktadır.
Son sorunuzun cevabını zaten kendiniz vermişsiniz.
Bir süre kodlarla kendim uğraştıktan sonra daha iyi anlamaya başladım; fakat Örnek adlı dosyadaki S1.[IV2].End(1).Column ve SATIR = S2.[A65536].End(3).Row+1 kodlarındaki parantez içindeki 1 ve 3'ün tam olarak neyi kısıtladığına veya ne işe yaradığına pek anlam veremedim.
Açıklayacak olan arkadaşlara şimdiden teşekkürler
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.