Hücre tanımlayı genişletme

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Prrosedür içinde Sayfada bir sütunu hücre aRng olarak tanımladıktan sonra;
bunun sağındaki ve solundaki sütunu da aynı şekide bRng tanımlamak için ;

ikinci tanımlamda bRng, ilk tanımlayı aRng kullanmak için için nasıl bir yol takip edilebilir.

set bRng=aRng.Resize gibi...
1.
Kod:
Dim aRng As Range
z = Sayfa3.Range("A1").CurrentRegion.Rows.Count

Set aRng = Sayfa3.Range("A2:A" & z)
2.
Kod:
Dim bRng As Range
Set bRng = Sayfa3.Range("A2:B" & z)
Teşekkürler,
iyi Çalışmalar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Örnek olması açısından şöyle bir örnek paylaşayım.

Kod:
Sub test()
    Dim a As Range
    Dim b As Range
    
    Set a = Range("A1:A10")
    Set b = a.Resize(, 2)
    
    MsgBox a.Address & "  -  " & b.Address

End Sub
 

tamer42

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

Örnek olması açısından şöyle bir örnek paylaşayım.
Muzaffer Hocam teşekkürler,
İşlemi tersten yapmak istersek nasıl mümkün olabilir, aşağıdaki gibi denedim, yalnız hata verdi.
Kod:
Sub test()
    Dim a As Range
    Dim b As Range
   
    Set b = Range("B1:B10")
    Set a = b.Resize(, -2)
   
    MsgBox a.Address & "  -  " & b.Address

End Sub
iyi Çalışmalar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Resize ile sola yada üste doğru işlem yapılamaz, offset ile yapılabilir.

Kod:
Sub test()
    Dim a As Range
    Dim b As Range
    Dim c As Range
    Dim d As Range
    Dim e As Range
    
    Set a = Range("C1:C10")
    Set b = a.Resize(, 2)
    Set c = a.Offset(0, -1).Resize(, 2)
    Set d = a.Offset(0, -1).Resize(, 3)
    Set e = a.Offset(0, -1)
    
    MsgBox a.Address & vbLf & b.Address & vbLf & c.Address & vbLf & d.Address & vbLf & e.Address

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
    Set a = b.Offset(, -1)
.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Haluk Hocam bu kod, yalnızca diğer sütunu veriyor,
benim istediğim iki sütunu birleşik vermesiydi
bu şekilde çözüldü
Kod:
Set a = b.Offset(, -1).Resize(, 2)
teşekkürler,
 
Üst