• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü İlleri ve ay'ı seçince imleç istediğin hücreyi seçsin

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ASLAN7410

Yeni Üye
Katılım
25 Mar 2021
Mesajlar
300
Çözümler
4
Aldığı beğeni
101
Excel V
Office 2021 TR
Konu Sahibi
Merhaba.

Ekte gönderdiğim bir excel dosyam mevcut.
İMSAKİYE sayfasındaki
örneğin 4.satırın M sütununda bulunan liste kutusundan Ankara'yı seçtim, 4.satırın N sütununda bulunan liste kutusundan Şubat ayını seçince imlecin AX36 hücresini seçmesini istiyorum.

örneğin 4.satırın M sütununda bulunan liste kutusundan İstanbul'u seçtim, 4.satırın N sütununda bulunan liste kutusundan Temmuz ayını seçince imlecin IL191 hücresini seçmesini istiyorum.

örneğin 4.satırın M sütununda bulunan liste kutusundan Antalya'yı seçtim, 4.satırın N sütununda bulunan liste kutusundan Mayıs ayını seçince imlecin BE129 hücresini seçmesini istiyorum.

If [A9] = 1 Then kodu ile yapmaya çalıştığımda bir çok if gerekiyor, yani 81 il var, 12 ay var, her biri için If kodu ile yapmaya çalıştım çok sayıda kod oluşuyor. Bunu nasıl daha kısa olarak ayarlayabiliriz?

Yardımcı olur musunuz?
.
 
Çözüm
Size bir yol göstereyim önce bir deneyin olmazsa başka yoldan yaparız.
Resimdeki gibi örneğin Sub GizleGosterSec() ekleyip içine resimdekilerini ekleyin.
Ve işaretlediklerim gibi çağırım kod satırları kısalır.
Geri kalanınıda siz devam edersiniz.

1.png


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Dosyanızda zaten imleç her ayın birinci satırında belirtilmiş sanırım "m" sütunu idi "o" sütununda olması neyi değiştirecek acaba?
 
Konu Sahibi
Örneğin Afyon ilini seçtim, sonra Nisan ayını seçtim bu şekilde satır renkleniyor, aynı şekilde sadece Nisan ayına dokunmadan il olarak örneğin Aydın'ı veya başka bir ili seçtiğimde renklenme olmuyor.
 
Konu Sahibi
Sub İmsakiyeGizleGöster() kod başlığı altındaki aşağıdaki kod içerisindeki [O5].Select yerine


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.



Aşağıdaki gibi yapıyorum, diğer kodların altınada eklediğim zaman If [J4] = 62 Then 'Trabzon buradan sonra hata veriyor.

Bunu nasıl yapabiliriz?

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Aşağıdaki gibi koda devam edip, sayfadan il seçtiğimde hata mesajı olarak Compile error: Procedure too large uyarı mesajı geliyor. 81 il için nasıl devam edebilirim?
Yardımcı olur musunuz? Yapmak istediğim hücre seçilince satır renklensin.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Aşağıdaki gibi koda devam edip, sayfadan il seçtiğimde hata mesajı olarak Compile error: Procedure too large uyarı mesajı geliyor. 81 il için nasıl devam edebilirim?
Yardımcı olur musunuz? Yapmak istediğim hücre seçilince satır renklensin.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Dosyayı incelemedim ama end if satırlarına gerek yok.then den sonra boşluk bırakıp select satır kodlarını ekleyin daha kısa olur.
 
Eğer large hatası yine verirse kodu kısaltmak için 2 adet array eklenip birine thenden önceki sayılar diğerinede select satırı köşeli parantez içindeki adresler eklenir ve döngü ile şart aranır.
Akşam dediklerimi uygulamaya çalışırım.
 
Yada sanırım en kolayı dictionary ile olur.Kodlardan anladığım select olanlar 31 artmış.
81 e kadar döngü kurup key kısmına döngü saylarını item kısmınada M ile birleştirip yapılır basitçe mantıken
Akşam unutmazsam önce bunu bir denerim.
 
Konu Sahibi
Sayın Zafer Bey, ilginiz için çok teşekkürler.

Kodu aşağıdaki gibi yaptım, bu seferde If [J4] = 65 Then 'Uşak buradan sonrakinde aynı hatayı verdi.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Size bir yol göstereyim önce bir deneyin olmazsa başka yoldan yaparız.
Resimdeki gibi örneğin Sub GizleGosterSec() ekleyip içine resimdekilerini ekleyin.
Ve işaretlediklerim gibi çağırım kod satırları kısalır.
Geri kalanınıda siz devam edersiniz.

1.png


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Biraz daha düzenledim gerisini siz ayarlamanız gerekecek resimdeki gibi.
Ben dosyayıda ekledim.
Ok ile yaptıklarımda sadece 2 olana False yazılmayacak diğerlerinde False yazılmalı.

2.png
 
Konu Sahibi
Cevap veren herkese çok teşekkür ederim, hepsi çok güzel çalışıyor, ellerinize sağlık
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst