• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Macro'da Aynı Format, farklı miktar sorunu

Katılım
3 Mayıs 2009
Mesajlar
21
Excel Vers. ve Dili
2007 english
Merhablar,

Macro konusunda çok yeniyim öncelikele. Bir Macro yaptım fakat kodlarla yapamadım. Bir dosyayı son haline getirip, macroya kaydettim. Fakat aynı formatta, daha fazla veri içeren doyayı macro ile istediğim formata getirirken sorun yaşıyorum.

Örneğin ilk yaptığım dosyada 20 adet veri var. İkinicisinde ise 200 tane. İkinci dosyayı macro ile yapmaya çalıştığımda bana ilk 20 kişinin raporunu cıkarıyor.

Dosyanın formul girilen kısımlarını bi şekilde halledebiliyorum. Mesela ilerde 500 kişilik listeyi macroya attığımda sorun yaşamamak için "if" özelliğini kullanıyorum. Fakat Pivot table gibi formul girilmeyen özellikleri kullandığımda, ilerde daha fazla verilik dosyaları kapsayacak yolu bulamıyorum.

Bu problemin genel bir çözümü var mıdır? Yoksa her tablo ya da dosya kendi başına mı ele alınarak çözülür? Genel bir çözüm varsa benimle paylaşabilir misiniz lütfen?

Şimdiden teşekkür ederim.
 
Merhaba,

Hiç öyle şey olur mu? o zaman makronun anlamı kalmaz.
Makro kaydet ile kaydedilen makrolarda değişken kullanılmaz, bu nedenle makro hep aynı alanda çalışır.

Diyelim ki A1:F20 alanını koyu yazdıracak bir makroyu makro kaydet ile elde ederseniz aşağıdaki gibi bir kod ortaya çıkar.

Kod:
Sub Makro1()
    Range("A1:F20").Select
    Selection.Font.Bold = True
End Sub



Burada iki işlem olduğunu görürsünüz
  • Seçme
  • Koyu yapma
Oysa bu makroyu değişken olarak yazmak gerekirse kod aşağıdaki gibi olabilir.

Kod:
Sub Makro1()
    Dim SonSatır As Long
    SonSatır = [A65536].End(3).Row
    Range("A1:F2" & SonSatır).Font.Bold = True
End Sub

Yani Sonsatırı bulup kodu buna göre düzenlemeli.
 
Merhaba Necdet Bey,

Yardımınız için çok teşekkür ederim. Yukarıda da belirttiğim gibi henüz çok yeni olduğum için kodlar pek etkin kullanabildiğim söylenemez.

Fakat kaydettiğim macro dosyasında bir bölüm var ki sanırım benim problemim oradan kaynaklanıyor. İlgili kısım pivot table yaptığım bölüm. Kaydettiğim macrodaki kodu şu şekilde:
Kod:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Sheet1!R1C1:R182C3", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="Sheet1!R1C5", TableName:="PivotTable3", DefaultVersion _
        :=xlPivotTableVersion12

Yukarda da görebileceğiniz gibi "Sheet1!R1C1:R182C3" kısmında R182 yazıyor. Macroyu kaydederken kullandığım dosya tam olarak 182 kişilik idi. 182'den daha büyük veri içeren bir dosyada macrom düzgün çalışmıyor. Bu kısma ne yazmalıyım ki sorun yaşamayım?
 
Son düzenleme:
Merhaba Necdet Bey,
"Sheet1!R1C1:R182C3" kısmında R182 yazıyor. Macroyu kaydederken kullandığım dosya tam olarak 182 kişilik idi. 182'den daha büyük veri içeren bir dosyada macrom düzgün çalışmıyor. Bu kısma ne yazmalıyım ki sorun yaşamayım?

Önceki mesajda SonSatırı nasıl bulduğumuzu söylemiştim.
O değişkeni şöyle kullanabilirsiniz :

Kod:
"Sheet1!R1C1:R" & SonSatır & "C3"
 
Geri
Üst