Çözüldü Makro yardım - Düzenleme, sıralama, biçimlendirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

PriveT

İlyas PINAROĞLU
Yönetici
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Makro üstadlarım merhaba,
Sizden mümkünse bir makro isteğim olacak. Boş vaktinizde bakabilirseniz sevinirim.

Makro üniversal olacak. Bir kaç çeşit farklı dosya var. Sütun ve satır sayıları farklı. Fakat hepsini makronun hazırlanabilmesi için işe yarayacağını düşündüğüm ortak yanları var. Bu sebeple daha iyi anlaşılabilmesi için bu dosyalardan 2'sinin orjinal hallerini ve düzenlenmiş hallerini ekledim.
Veri-1 ve Veri-2 dosyaları tabloların işlenmemiş hali.
Örnek-1 ve Örnek-2 bu dosyaların düzenlenmiş hali.

Mümkünse sizden rica ettiğim makronun görevi;

* İlk 4 sütun gizlenecek.

* F sütunundan başlığı "01/" ile başlayan ilk sütuna kadar tüm sütunlar silinecek. (F sütunu silinecek, "01/" ile başlayan sütun ve sonrası kalacak)

* Geri kalan sütunlardan başlığı "-ORT" ile biten sütunlar kesilip F sütunu itibariyle sıralanacak. (Bazı dosyalarda 1 tane bazılarında 3-5 tane var)
Ve sütunlar kendi gurubunda “01/xx”, “02/xx” gibi sırayla gidecek.
Örnek: Sütunlar sırayla “01/EA”, “02/EA”, “01/SAY”, “02/SAY” …. gibi.
Bu sayı “02” ‘de bitmiyor. 10 küsürlere kadar çıkacak zamanla.
Bu seçenek biraz karışık olabilir. Zor ise yapılmayabilir.

* "-ORT" ile biten sütunların soluna 1'er boş sütun eklenecek. Bu sütunların başlığı "SIRALAMA" olacak.
(Mümkünse her sıralama adını sağındaki hücreden alırsa “EA-ORT” alt+enter “SIRALAMA” gibi ve satır yüksekliği ayarlanırsa harika olur)
Ve bu sütundaki hücrelerde; sağındaki hücrenin o sütunda sıralamada kaçıncı olduğu yazacak.

* G2 hücresinden son sütun son satıra kadar hücreler ("SIRALAMA" başlığı altındaki sütunlar hariç) 0,00 sayı formatıyla biçimlendirilecek.
"SIRALAMA" sütunu Genel sayı formatında kalacak ve hücreye ortalanarak hizalanacak.

* “SIRALAMA” sütunları 2. Satırdan itibaren .Interior.Color = 11389944 numralı renk koduyla renklendirilecek.

* Birinci dolu satıra (başlıklara) Cells(1, sut).Interior.Color = 14395790: Cells(1, sut).Font.Bold = True: Cells(1, sut).HorizontalAlignment = xlCenter kodu uygulanacak.

* E2:Eson satıra Range("E2:E" & sonsat).Interior.Color = 15917529 kodu uygulanacak. Ve mümkünse “-ORT” ile biten sütunlara 2. Satırdan son dolu satıra da bu renklendirme yapılacak.

* Tüm tabloyaya kenarlıklar uygulanacak.

* Soldan “01/” ile başlayan ilk sütunun 2. Satırına “bölmeleri dondur” uygulanacak.

Umarım açıklayabilmişimdir.
Şimdiden teşekkürler.
 

Ekli dosyalar

Ekli dosyayı inceleyiniz.

Sayın @cakarem Bey merhaba,
Öncelikle emekleriniz için teşekkür ederim.

İncelediğim kadarıyla;
- SIRALAMA sütunlarından sadece EA-ORT istediğim gibi GENEL olarak biçimlendirilmiş. Diğerleri 0,00 olarak biçimlendirilmiş.
- Sadece SIRALAMA sütunu hücrede ortaya hizalanması gerekiyordu, diğerleri de ortaya hizalanıyor.
- "01/" ile başlayan ilk sütunun 2. satırına BÖLMELERİ DONDUR uygulamıyor.

Lütfen inceleme sonuçlarımı talimat veya emirvaki olarak algılamayınız.

Bir de Makroyu bir çok dosyada kullanmak için PERSONAL.XLSB içine attığımda çalışmasını istiyorum. Bunun için oluşturduğunuz 3 makroyu da mı buraya taşımam lazım acaba?
 
Moderatörün son düzenlenenleri:
Merhaba.
Sayın @cakarem 'in çözümünü incelemedim, sorun çözülmüşse benim cevabım da alternatif olsun.
Sayın @Ömer BARAN Bey merhaba,
Öncelikle emekleriniz için teşekkürler.

İncelediğim kadarıyla;
- BÖLMELERİ DONDUR AD-SOYAD'tan 1 sonraki sütuna uygulanmış,. "01/" ile başlayan ilk sütunun 2. satırına uygulayabilir misiniz?
- SIRALAMA sütunundaki başlıklar sütuna sığmıyor. İnceleyip anladığım kadarıyla bununla ilgili kod eklemişsiniz ama SIRALAMA'nin son harfi nedense üçüncü satıra kayıyor. :unsure:

Lütfen inceleme sonuçlarımı talimat veya emirvaki olarak algılamayınız.

Makroyu PERSONAL.XLSB içerisine kopyaladım ve sorunsuz bütün dosyalarımda çalışıyor.

Tekrardan teşekkürler.
 
Moderatörün son düzenlenenleri:
Önceki kod cevabımda düzenleme yaptım. Sayfayı yenileyerek kontrol ediniz.
Ayrıca eşit RANK değerlerini (örneğin veri1.xlsx için EA-ORT bilgisi 0 olanların RANK değeri)
engellemek için; ikincil kriter olarak listede daha üstte olma durumunu kullanmak isterseniz, koddaki ilgili satırı aşağıdakiyle değiştirin.
VBA:
İçeriği görüntülemek için giriş yapmalısınız
(2 satır)
 
Önceki kod cevabımda düzenleme yaptım. Sayfayı yenileyerek kontrol ediniz.
Ayrıca eşit RANK değerlerini (örneğin veri1.xlsx için EA-ORT bilgisi 0 olanların RANK değeri)
engellemek için; ikincil kriter olarak listede daha üstte olma durumunu kullanmak isterseniz, koddaki ilgili satırı aşağıdakiyle değiştirin.
VBA:
İçeriği görüntülemek için giriş yapmalısınız
(2 satır)

Çoook teşekkürler.
Ellerinize, emeklerinize sağlık.
 
Tekrar merhaba.
Yanlış anlamıyorsam; Sayın @cakarem 'in eklediği belgede,
sütunların, başlıklarına göre alfabetik sıralanması için oluşturulmuş bir KTF mevcut.
Yine yanlış düşünmüyorsam; Sütunları başlıklarına göre alfabetik sıralama için
KTF kullanmak yerine, aşağıdaki gibi bir yapı da kullanılabilir.
VBA:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Yönetici
İlyas PINAROĞLU
Katılım
Konum
Alanya & Moskova
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
11
Üst