• DİKKAT

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

Kod Kısaltma ( Set Range)

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,201
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba

Aşağıdaki kodda 4 birbirinden bağımsız 4 ayrı hücre aralığını (rng1, rng2, rng3, rng4) olarak ayrı ayrı set ediyordum,

bu dört farklı hücre aralığını tek seferde set edilebilir mi?

Set Rng = WS.Range(, , , , , )

yardımlarınız için şiödiden teşekkürler,
iyi akşamlar..


Kod:
Dim WS As Worksheet
Dim cel As Range
Dim rng1 As Range, rng2 As Range
Dim rng3 As Range, rng4 As Range

Dim i As Integer

Set WS = Sayfa1
  
    For i = 2 To 100


             Set rng1 = WS.Range("D" & i & ":G" & i)
             Set rng2 = WS.Range("K" & i)
             Set rng3 = WS.Range("M" & i)

             Set rng4 = WS.Range("O" & i & ":U" & i)

        For Each cel In rng1
     ''   ...............
        Next


next i
 
Merhaba,
“Union” metodunu araştırmanızı tavsiye ederim.
 
Merhaba,
“Union” metodunu araştırmanızı tavsiye ederim.
Hocam teşekkürler,

bu şekilde düzenledim ama sanırsam olmadı
Kod:
Dim cel As Range
Dim rngUnion As Range


                     Set rngUnion = Union(WS.Range("D" & i & ":G" & i), _
                                            WS.Range("K" & i), _
                                                WS.Range("M" & i), _
                                                    WS.Range("O" & i & ":U" & i))


                  For Each cel In rngUnion
                        
                            If cel = "" Then
                              
                            End If
                            
                    Next
 
Kod:
Dim cel As Range
Dim rngUnion As Range
Set ws = Sheet1

 For i = 2 To 100
   Set rngUnion = Union(ws.Range("D" & i & ":G" & i), ws.Range("K" & i), ws.Range("M" & i), ws.Range("O" & i & ":U" & i))
Next i

                  For Each cel In rngUnion
                        
                            If cel = "" Then
                              
                            End If
                            
                    Next
Bu şekilde olur.
 
Alternatif;
Kod:
Set rngUnion = Intersect(ws.Range("D" & i & ":U" & i), ws.Range("D:G,K:K,M:M,O:U"))
 
Geri
Üst