• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Select Case de Değişken kullanabilir miyiz?

  • Konbuyu başlatan Konbuyu başlatan dEdE
  • Başlangıç tarihi Başlangıç tarihi

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,

Üç ComboBox tan üç adet veri seçmek istiyorum. Aynı kodları üç kez yazmak yerine aşağıdaki kodlarda Seçim1 yerine değiken kullanmak istiyorum.
Şöyle bir şey yapmaya çalıştım ama olmadı.

Case Is = "ADI": "Seçim" & i = "A1"

Yardımcı olabilir misiniz?

Kod:
Private Sub Seçim_x()
For i = 1 To 3
    Select Case Controls("ComboBox" & i).Value
        Case Is = "ADI": Seçim1 = "A1"
        Case Is = "SOYADI": Seçim1 = "B1"
        Case Is = "BABA ADI": Seçim1 = "C1"
        Case Is = "CİNS": Seçim1 = "D1"
        Case Is = "İL": Seçim1 = "E1"
        Case Is = "İLÇE": Seçim1 = "F1"
'Yukarıdakilere benzer şekilde toplam 25 adet Case Is kullanılacak.
    End Select
Next i
End Sub
 
Merhaba,

Benim ilk aklıma gelen Secim parametresinin 3 elemanlı bir dizi olması.
 
Merhaba,

Aşağıdaki kod yapısını kullanabilirsiniz.

Kod:
Private Sub Seçim_x()
    For i = 1 To 3
        Select Case Controls("ComboBox" & i).Value
            Case Is = "ADI": Veri = "A1"
            Case Is = "SOYADI": Veri = "B1"
            Case Is = "BABA ADI": Veri = "C1"
            Case Is = "CİNS": Veri = "D1"
            Case Is = "İL": Veri = "E1"
            Case Is = "İLÇE": Veri = "F1"
        End Select
            
        Select Case i
            Case 1: Seçim1 = Veri
            Case 2: Seçim2 = Veri
            Case 3: Seçim3 = Veri
        End Select
    Next i
End Sub
 
Merhaba,
Sayın Yeşertener,
Dizi konusunda fazla bilgim olmamasına karşın üzerinde biraz çalışmış ama başarılı olamamıştım. Bu nedenle de Select Case yöntemiyle yapmaya çalıştım, yapamayınca yardım istedim.
Sayın Korhan Ayhan'ın önerdiği kodu kullanacağım.
Alternatif olarak, dizi yöntemiyle nasıl yapılabileceğini yazarsanız mutlu olurum.
Her ikinize de teşekkürler.
Saygılar.
 
Merhaba,

Aşağıdaki gibi kullanabilirsiniz. Kendi kullanımınızda Seçim1 yerine Seçim(1) olarak kullanabilirsiniz.

Kod:
Private Sub Seçim_x()
    
    Dim Seçim(1 To 3) As String
    
    For i = 1 To 3
        Select Case Controls("ComboBox" & i).Value
            Case Is = "ADI": Seçim(i) = "A1"
            Case Is = "SOYADI": Seçim(i) = "B1"
            Case Is = "BABA ADI": Seçim(i) = "C1"
            Case Is = "CİNS": Seçim(i) = "D1"
            Case Is = "İL": Seçim(i) = "E1"
            Case Is = "İLÇE": Seçim(i) = "F1"
    'Yukarıdakilere benzer şekilde toplam 25 adet Case Is kullanılacak.
        End Select
    Next i
    
End Sub
 
Teşekkürler Sayın Yeşertener,

Bütün kabahat şu "i" harfinde:)
Ben, Case Is = "ADI": "Seçim" & i = "A1" şeklinde yazmıştım.
Halbuki, Case Is = "ADI": Seçim(i) = "A1" şeklinde olacakmış.

Saygılar.
 
Geri
Üst