- Katılım
- 21 Mart 2021
- Mesajlar
- 75
- Excel Vers. ve Dili
- Office 2010 - Türkçe
- Altın Üyelik Bitiş Tarihi
- 05-12-2024
İyi akşamlar.
Döngüleri araştırmama rağmen çözümü bulamadığım bir konuyu sormak istiyorum.
İşlem sırası şöyle oluyor. Prim Kontrol Sayfasında Öncelikle İsim başlıklı sütunlarda Seçimler yapılıyor. Daha sonra XSon , X1 , Y1 , YSon değerleri bulundukları sütunlara giriliyor. Sonra kodlar çalıştırılıyor.
Eğer yapılan seçimler bu sayfadaki koşullardan 1'ini sağlıyorsa, Prim Kontrol sayfasındaki seçim yapılan sütunun hemen yanındaki "SONUÇ" başlığındaki hücreye "DOĞRU", koşulları sağlamıyorsa "YANLIŞ" yazması gerekiyor.
Ben bu işlemi iç içe If - ElseIf ' ler ile yaptırmaya başladım fakat Prim Koşul sayfasındaki koşullar çok fazla olduğu için (hatta hepsini yazmadım yaklaşık 150 koşul var) alt alta çok uzun iç içe If - Else ' ler olacağını fark ettim. Kodları yazmasını geçtim, çalıştırdığımda işlemin çok uzun sürebileceğini düşündüğüm için sizlere danışmak istedim. Bunu daha kısa kodlarla yazabileceğim bir yöntem var mı? Benim yazmaya başladığım kodlar örnek dosyanın içinde mevcut.
Çalışma sistemiyle ilgili bir de örnek vereyim.
Örn; Prim Kontrol Sayfasında İsim 1 ' in Process 1 satırında (G2 hücresi) seçim "A1" olarak yapılmış. X1 başlığı altında Process 1 satırında (C2 hücresi) değer 3. Y1 başlığı altında Process 1 satırında (D2 hücresi) değer 2. Prim Koşul sayfasındaki tabloya göre X1>Y1 ( yani 3>2) başlığının altında "A1" seçimi mevcut. Bu durumda Prim Kontrol sayfasında "H" sütununda "Durum" başlığı altında Process 1 satırında (H2 hücresi) "DOĞRU" yazmasını istiyorum. Eğer yapılan seçim doğru değilse H2 hücresinde "YANLIŞ" yazmasını istiyorum. Sonra Process 1 satırında İsim 2 altındaki seçimden sorgulamaya devam etmesini ve bu satırdaki son dolu sütüna kadar bu işlemi yapmasını istiyorum. Process 1 satırı bitince Process 2 satırına geçmesini istiyorum. Bu işlemi son dolu olan Process satırına kadar yapmasını istiyorum.
Döngüleri araştırmama rağmen çözümü bulamadığım bir konuyu sormak istiyorum.
İşlem sırası şöyle oluyor. Prim Kontrol Sayfasında Öncelikle İsim başlıklı sütunlarda Seçimler yapılıyor. Daha sonra XSon , X1 , Y1 , YSon değerleri bulundukları sütunlara giriliyor. Sonra kodlar çalıştırılıyor.
Eğer yapılan seçimler bu sayfadaki koşullardan 1'ini sağlıyorsa, Prim Kontrol sayfasındaki seçim yapılan sütunun hemen yanındaki "SONUÇ" başlığındaki hücreye "DOĞRU", koşulları sağlamıyorsa "YANLIŞ" yazması gerekiyor.
Ben bu işlemi iç içe If - ElseIf ' ler ile yaptırmaya başladım fakat Prim Koşul sayfasındaki koşullar çok fazla olduğu için (hatta hepsini yazmadım yaklaşık 150 koşul var) alt alta çok uzun iç içe If - Else ' ler olacağını fark ettim. Kodları yazmasını geçtim, çalıştırdığımda işlemin çok uzun sürebileceğini düşündüğüm için sizlere danışmak istedim. Bunu daha kısa kodlarla yazabileceğim bir yöntem var mı? Benim yazmaya başladığım kodlar örnek dosyanın içinde mevcut.
Çalışma sistemiyle ilgili bir de örnek vereyim.
Örn; Prim Kontrol Sayfasında İsim 1 ' in Process 1 satırında (G2 hücresi) seçim "A1" olarak yapılmış. X1 başlığı altında Process 1 satırında (C2 hücresi) değer 3. Y1 başlığı altında Process 1 satırında (D2 hücresi) değer 2. Prim Koşul sayfasındaki tabloya göre X1>Y1 ( yani 3>2) başlığının altında "A1" seçimi mevcut. Bu durumda Prim Kontrol sayfasında "H" sütununda "Durum" başlığı altında Process 1 satırında (H2 hücresi) "DOĞRU" yazmasını istiyorum. Eğer yapılan seçim doğru değilse H2 hücresinde "YANLIŞ" yazmasını istiyorum. Sonra Process 1 satırında İsim 2 altındaki seçimden sorgulamaya devam etmesini ve bu satırdaki son dolu sütüna kadar bu işlemi yapmasını istiyorum. Process 1 satırı bitince Process 2 satırına geçmesini istiyorum. Bu işlemi son dolu olan Process satırına kadar yapmasını istiyorum.
Ekli dosyalar
-
27.5 KB Görüntüleme: 20