Tablodaki Bazı Alanları Değiştirme

Çözüldü Tablodaki Bazı Alanları Değiştirme

52779

Normal Üye
Excel Versiyonu
Excel 365
Excel Sürümü
32 Bit
Excel Dili
Türkçe
Selamlar,
Sorum resimdeki gibidir...
R336.webp

Kısaca açıklarsam
Solda, 14 satır ve 12 kolondan oluşan tablomuz bulunmakta.
Tabloda, BOŞ hücreler de bulunmakta olup, 0 ile 25 arasında değerler mevcuttur.
Not : Tablo için, kolaylık sağlanması açısından, satır numarası ve kolonlar için de harfler, özellikle verildi.

Bu tablomuzda bazı alanları değiştirmek istiyoruz.
Tabloda değiştirilecek alanlar renklendirildi.
Tablodaki bu alanları, Alan1, Alan2, Alan3 ve Alan4 olarak verilen alanlarla değiştirmek istiyoruz. Bu alanlar da tablodaki alanlara göre renklendirildi. Verilen bu alanlar için, tablda karşılık gelen satır numaraları ve sütun harfleri de verilmektedir.

Beklenen sonuç, sayfanın en sağındaki gibidir.

Çözüm olarak, formül, makro,..... vs tüm Excel yöntemleri kabulümüzdür.
Şimdiden teşekkürler....

Soruya ait dosya ektedir.
 

Ekli dosyalar

Çözüm
Tabloların sol üst köşelerinde bulunan Alan 1, Alan 2, .. isimlerini silmeden kodu çalıştırın. Aktarılacak bu tabloların aralığını tespit etmek için "Alan" kelimesi baz alınıyor. Aktarılacak tabloların bulunduğu aralığı daha sonra değiştirecek olursanız; Vba Kodu üzerindeki notları dikkate alarak değişiklik yaparsınız.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(11 satır)
@okutkan Hocam,
Selamlar,
Alanların konumları, alanlar tablo içerisinde olmak şartıyla değişebilir.
O nedenle, alanların satır ve sütun numaralarını vermiştim.

Koşul demişken şunu da eklemek istiyorum.
Verilen alanlar birbirleriyle kesişmiyorlar.
 
Peki bu Alan1-2-3-4 hep aynı yerde ve aynı boyutta mı tanımlanıyor?
Alan1 tanımı R2 hücresinden başlıyor 3x4 boytunda
Alan2 tanımı R8 hücresinden başlıyor 4x6 boyutunda gibi...
 
@Selman Hocam
Selamlar,
Alanların konumları gibi boyutları da değişken olabilir.
Ben soruda alanları bu şekilde yerleştirdim. Ve bu soru için alanların yerleri sabit olacak.
Yani dediğiniz gibi
Alan1 tanımı R2 hücresinden başlıyor 3x4 boytunda
Alan2 tanımı R8 hücresinden başlıyor 4x6 boyutunda gibi...


Başka bir soru için ise, alanların yerleri verilen alanların yerleştiği alana göre gerek makroda ve gerekse formülde tanımlanarak değiştirilebilir.

Çözüm için kullanılacak hücre aralıkları
Alan1 = S3 : U6
Alan2 = S9 : V14
Alan3 = Y3 : AA11
Alan4 = Y14 : Z15
şeklinde olacak...

Sanıyorum anlatmakta güçlük çekiyorum...
 
Tabloların sol üst köşelerinde bulunan Alan 1, Alan 2, .. isimlerini silmeden kodu çalıştırın. Aktarılacak bu tabloların aralığını tespit etmek için "Alan" kelimesi baz alınıyor. Aktarılacak tabloların bulunduğu aralığı daha sonra değiştirecek olursanız; Vba Kodu üzerindeki notları dikkate alarak değişiklik yaparsınız.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(49 satır)
 
Son düzenleme:
Çözüm
@52779
Çözüm dosyanız ekte.
Tam esneklik bakımından, tüm alan belirlemelerinin fareyle seçerek yapılmasının uygun olacağını düşündüm.
Kodun ilk tetiklenmesi için B2 hücresine çift tıklayın.

Oluşturduğum kodlar şöyle;
-- ilk kod ilgili sayfanın kod bölümünde (çift tıklayarak işlemin tetiklenmesi)
-- ikinci (asıl) kod ise Module1'de.

NOT: Alan seçimlerinde, tabloların satır ve sütun başlıkları dahil olarak seçin.
Zira anahtar (satır/sütun belirlenmesi) burası malum.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(54 satır)
 

Ekli dosyalar

@okutkan Hocam
Selamlar,
Çok teşekkür ediyorum.

Yanlış/eksik yaptığım bir şey mi var, çünkü
Sorumda eklediğim dosyada
1 -ActiveX denetimlerinden Command Button1 ekledim
2 - Kodlarınızı bu butona atadım.
3 - Butona bastığımda, resimdeki gibi "Alan1 Tabloları bulunamadı" şeklinde hata alıyorum.
R340.webp
 
Çözüm seçimi için
Her iki çözüm de benim için Mükkemmel bir çözüm.
Bir seçim yapılması gerektiğinden verilen ilk çözümü işaretliyorum.
Bilgilerinize...

İlgilenenlere çok teşekkür ediyorum....
 
Sanırım bu daha pratik bir kullanım oldu.
KTF'nin kullanış şekli:

=degistir(ANA TABLO ; AltTablo1 & AltTablo2 &....)

Düğme, çift tıklama vs ihtiyacı da kalmamış oldu.
Ayrıca ANA tablo ve/veya ALT tablolarda değer değişikliği olduğunda da
KTF formül sonucu hiç bir yeni işleme gerek kalmadan güncellenmiş olur.

1693166848072.webp
 

Ekli dosyalar

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)

Alternatif ktf de ben eklemiş olayım.

Kullanım şekli
=ExcelDestek(B2:N16;S2:V6;X5:AB11;R10:U19;AA14:AC16) & ""
=ExcelDestek(AnaTablo;Tablo1;Tablo2...) & ""

Not: Sütun isimleri excel sütun isimleri ile aynı olduğu varsayılmıştır.
Not2: AnaTablo satir numaraları sıralı, atlanmamış olduğu varsayılmıştır.
 
Üst