- Katılım
- 6 Eylül 2007
- Mesajlar
- 655
- Excel Vers. ve Dili
- excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
- Altın Üyelik Bitiş Tarihi
- 10-12-2024
Arkadaşlar merhaba; Private Sub Worksheet_SelectionChange(ByVal Target As Range) ile excel sayfama bazı group'ların gelmesini istiyorum. Aşağıda örneğini verdiğim kod'lar ile bu işlemi yapabiliyorum. Benim sıkıntım IF/ELSE IF / END IF toplamda 113 adet'ten fazla olunca kod'lar çalışmıyor ve "Procedure Too Large" ikaz'ı veriyor. Benim 113 den daha fazla işlem yaptırmam gerekiyor. Bunun imkanı varmı yardım lütfen.
Örnek kodlar:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sayfa105.Range("J16") = 1 Then
ActiveSheet.Shapes("Group 227").Visible = False
ActiveSheet.Shapes("Group 183").Visible = False
ActiveSheet.Shapes("Group 146").Visible = False
ActiveSheet.Shapes("Group 113").Visible = True
Else
If Sayfa105.Range("J16") = 2 Then
ActiveSheet.Shapes("Group 225").Visible = False
ActiveSheet.Shapes("Group 30").Visible = False
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 3 Then
ActiveSheet.Shapes("Group 225").Visible = False
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 4 Then
ActiveSheet.Shapes("Group 225").Visible = True
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 5 Then
ActiveSheet.Shapes("Group 225").Visible = True
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
End If
End If
End If
End If
End If
If Sayfa18.Range("C140") = 2 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = True
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 2 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = True
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") < 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = True
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") < 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = True
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = True
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = True
End If
End If
End If
End If
End If
End If
'Böyle devam ediyor End If 113 den fazla olunca " Procedure Too Large" sinyali veriyor.
End Sub
Örnek kodlar:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sayfa105.Range("J16") = 1 Then
ActiveSheet.Shapes("Group 227").Visible = False
ActiveSheet.Shapes("Group 183").Visible = False
ActiveSheet.Shapes("Group 146").Visible = False
ActiveSheet.Shapes("Group 113").Visible = True
Else
If Sayfa105.Range("J16") = 2 Then
ActiveSheet.Shapes("Group 225").Visible = False
ActiveSheet.Shapes("Group 30").Visible = False
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 3 Then
ActiveSheet.Shapes("Group 225").Visible = False
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 4 Then
ActiveSheet.Shapes("Group 225").Visible = True
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
Else
If Sayfa105.Range("J16") = 5 Then
ActiveSheet.Shapes("Group 225").Visible = True
ActiveSheet.Shapes("Group 30").Visible = True
ActiveSheet.Shapes("Group 22").Visible = True
ActiveSheet.Shapes("Group 15").Visible = True
End If
End If
End If
End If
End If
If Sayfa18.Range("C140") = 2 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = True
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 2 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = True
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") < 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = True
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") < 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = True
ActiveSheet.Shapes("Group 647").Visible = False
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 2 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = True
Else
If Sayfa18.Range("C140") = 1 And Sayfa18.Range("I124") = 1 And Sayfa18.Range("I122") = 5 Then
ActiveSheet.Shapes("Group 319").Visible = False
ActiveSheet.Shapes("Group 447").Visible = False
ActiveSheet.Shapes("Group 759").Visible = False
ActiveSheet.Shapes("Group 647").Visible = True
End If
End If
End If
End If
End If
End If
'Böyle devam ediyor End If 113 den fazla olunca " Procedure Too Large" sinyali veriyor.
End Sub
Ekli dosyalar
-
43.6 KB Görüntüleme: 4