• DİKKAT

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

MAKROLARI BİRLEŞTİRME

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
DEĞERLİ FORUM ÜYELERİ,

DOSYADAKİ İSİMLER OLAN SAYFALARDA HER BİR BUTONA BAĞLI MAKROLARI, BELİRLİ BİR SAYFADAKİ TEK BUTONA BAĞLAMA K İSTİYORUM. ASLINDA YAPMAK İSTEDİĞİM MAKROLARI BİRLEŞTİRME İŞLEMİDİR.

İLGİLİ DOSYA EKTEDİR.

YARDIMLARINIZ İÇİN ŞİMDİDEN ÇOK TEŞEKKÜRLER....
 

Ekli dosyalar

Merhaba;
Doğru anladıysam eki deneyin.
İyi çalışmalar.


Sayın muygun yardımınız için çok teşekkür ederim ama galiba yapmak istediğimi anlatamamışım. Benim dosyamda yer alan ad olan her sayfada bir tablo ve bu tabloda isimler yer almaktadır. Her sayfada butona bağlı olan makrolarla, aynı sayfanın CH1 den başlayarak isimler alt alta sıralanıyor ve yan sütuna da her ismin kaç tane olduğu yazılıyor. Dolayısıyla, her sayfadaki buton ile bu işlemi tek tek yapıyorum. İstediğim bunu tek butona bağlayarak, bu sayfalarda tek tek yapılan işlemin bir kerede yapılması. Yani modül içinde yer alan 4 kodu 1 butona bağlamak.

Umarım yapmak istediğimi anlatabilmişimdir.

Yardımlarınız için şimdiden çok teşekkürler.
 
Dosyanızda 4 tane makro görüyorum. 4 makronun kodunu alt alta yazarak tek makro haline getirebilirsin. Yada;

Kod:
Sub dn()
Call IndexCikar_AYŞE
Call IndexCikar_KEMAL
Call IndexCikar_MEHMET
Call IndexCikar_ALİ
End Sub
 
Dosyanızda 4 tane makro görüyorum. 4 makronun kodunu alt alta yazarak tek makro haline getirebilirsin. Yada;

Kod:
Sub dn()
Call IndexCikar_AYŞE
Call IndexCikar_KEMAL
Call IndexCikar_MEHMET
Call IndexCikar_ALİ
End Sub

Sayın recepkull çok çok teşekkür ederim. Nerede hata yaptığımı anlayamadım ama alt alta birleştirmeyi başaramadım. Ancak yazdığınız kodla işimi hallettim. Tekrardan çok teşekkürler...
 
Dosyanızda 4 tane makro görüyorum. 4 makronun kodunu alt alta yazarak tek makro haline getirebilirsin. Yada;

Kod:
Sub dn()
Call IndexCikar_AYŞE
Call IndexCikar_KEMAL
Call IndexCikar_MEHMET
Call IndexCikar_ALİ
End Sub

Sayın recepkull, makrolar çalışmasına rağmen tablolarda yer alan isimlerin toplam sayıları yanlış çıkıyor. Makroları çalıştıran sayfadaki her buton ile çalıştırınca veriler doğru oluyor. Böyle bir hatanın nedenini anlayamadım.

Yardımlarınız için teşekkürler.
 

Ekli dosyalar

Makro kodlarınızda s2 yi sayfa ismi olarak tanımlamışsınız ama kodlardaki For Each alan In [B7:I33].Cells satırında hangi sayfada işlem yapacağını belirtmemişsiniz. Bu yüzden makroyu hangi sayfada çalıştırırsanız o sayfaya göre işlem yapıyor. Kodlardaki bu satırları sayfa ismi belirleterek deneyin.

Kod:
For Each alan In S2.[B7:I33].Cells
 
EK olarak mesajlarınızı tamamını büyük harfle yazmayınız. (İlk mesajınız...)
 
Makro kodlarınızda s2 yi sayfa ismi olarak tanımlamışsınız ama kodlardaki For Each alan In [B7:I33].Cells satırında hangi sayfada işlem yapacağını belirtmemişsiniz. Bu yüzden makroyu hangi sayfada çalıştırırsanız o sayfaya göre işlem yapıyor. Kodlardaki bu satırları sayfa ismi belirleterek deneyin.

Kod:
For Each alan In S2.[B7:I33].Cells

Sayın recepkull,

satırı aşağıdaki gibi düzenledim ancak hata veriyor.

For Each alan In [(Sheets("AYŞE GELMEZ".B7:I33)].Cells

Yardımlarınız için teşekkürler...
 
Recep bey size nasıl yazmanız gerektiği konusunda örnek paylaşmış. Onu kullanın.
 
Recep bey size nasıl yazmanız gerektiği konusunda örnek paylaşmış. Onu kullanın.


Sayın Korhan Ayhan, Recep beyin örneği üzerinden ilgili satırı düzenlemeye çalıştım zaten ama hata veriyor. Recep beyin verdiği örnekteki satır için açıklaması;

"Makro kodlarınızda s2 yi sayfa ismi olarak tanımlamışsınız ama kodlardaki For Each alan In [B7:I33].Cells satırında hangi sayfada işlem yapacağını belirtmemişsiniz. Bu yüzden makroyu hangi sayfada çalıştırırsanız o sayfaya göre işlem yapıyor. Kodlardaki bu satırları sayfa ismi belirleterek deneyin. "

şeklindeydi.

Ben de ilgili satırı;

For Each alan In [(Sheets("AYŞE GELMEZ".B7:I33)].Cells
şeklinde düzenledim ama hata veriyor.

Aslında ilk açtığım konuda da belirttiğim gibi, amacım her bir çalışma sayfasında tek tek butona bağlı olan makroları, herhangi bir sayfada tek bir buton ile çalıştırmak istiyorum.

Yardımlarınız için çok teşekkür ederim.
 
Recep beyin mesajında paylaştığı kod satırı sizde görünmüyor mu? (en alttaki satır)
 
Recep beyin mesajında paylaştığı kod satırı sizde görünmüyor mu? (en alttaki satır)


Sayın Korhan Ayhan, her bir sayfa için yer alan kodlar aşağıdaki gibidir. Recep beyin önerdiğini şöyle anladım.

For Each alan In [B7:I33].Cells olan satırda sf adı belirtin.

Ben de ilgili satırı sayfa adı belirterek şu şekilde düzenledim.

For Each alan In [Sheets("KEMAL DURMAZ").("B7:I33")].Cells


Sub IndexCikar_KEMAL()
Set S2 = Sheets("KEMAL DURMAZ")
S2.[CH1:CI65536].ClearContents
Application.ScreenUpdating = False
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = TextCompare

' For Each alan In [B7:I33].Cells

For Each alan In [Sheets("KEMAL DURMAZ").("B7:I33")].Cells

ekle = alan.Value
If dic.exists(ekle) Then
w = dic(ekle)
dic(ekle) = w + 1
Else
w = 1
dic.Add ekle, w
End If
Next
dizi = dic.Keys
S2.Range("CH300").Resize(UBound(dizi) + 1) = WorksheetFunction.Transpose(dizi)
dizi = dic.Items
S2.Range("CI300").Resize(UBound(dizi) + 1) = WorksheetFunction.Transpose(dizi)
S2.[CH:CI].Sort Key1:=S2.[CH300], Order1:=xlAscending, Header:=xlGuess
Application.ScreenUpdating = True
S2.Select
Erase dizi
Set dic = Nothing
Set S2 = Nothing
End Sub


Yardımlarınız için teşekkür ederim.
 
Sayın recepkull'un paylaştığı kod:

For Each alan In S2.[B7:I33].Cells

Sizin anladığınız:

For Each alan In [Sheets("KEMAL DURMAZ").("B7:I33")].Cells

Lütfen kodu sayın recepkull gibi düzeltiniz
 
Sayın muygun, Sayın recepkull, Sayın Korhan Ayhan, Sayın Yusuf44,

Herbirinizin emekleri için ayrı ayrı çok teşekkür ederim. Sorunum çözüldü.
 
Makro kodlarınızda s2 yi sayfa ismi olarak tanımlamışsınız ama kodlardaki For Each alan In [B7:I33].Cells satırında hangi sayfada işlem yapacağını belirtmemişsiniz. Bu yüzden makroyu hangi sayfada çalıştırırsanız o sayfaya göre işlem yapıyor. Kodlardaki bu satırları sayfa ismi belirleterek deneyin.

Kod:
For Each alan In S2.[B7:I33].Cells

Hatanın neyden kaynaklandığını söyledim, nasıl çözüleceğini söyledim ve mesajımın en altına da sorunu çözecek kodu paylaştım siz onu fark etmediniz sanırım :)
Kod:
For Each alan In S2.[B7:I33].Cells
 
Hatanın neyden kaynaklandığını söyledim, nasıl çözüleceğini söyledim ve mesajımın en altına da sorunu çözecek kodu paylaştım siz onu fark etmediniz sanırım :)
Kod:
For Each alan In S2.[B7:I33].Cells

Evet sayın recepkull, maalesef farkedememiştim. Çok teşekkür ederim tekrardan.
 
sayın Erdinç bey dosyanın son halini yükleyebilir misin? Aynı durum bende de var da.
 
Geri
Üst