Kod Kısaltma ( Set Range)

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
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
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba,
“Union” metodunu araştırmanızı tavsiye ederim.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
Excel Vers. ve Dili
Office 2013 İngilizce
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
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
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.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,641
Excel Vers. ve Dili
Pro Plus 2021
Alternatif;
Kod:
Set rngUnion = Intersect(ws.Range("D" & i & ":U" & i), ws.Range("D:G,K:K,M:M,O:U"))
 
Üst