alan secmek

Katılım
7 Mart 2005
Mesajlar
85
merhaba,

macro kaydederken kod yazarak değilde, kayıt yöntemiyle yapıyorum.

sheet1 ve sheet2 var, sheet1 deki a3 ve b40 arasında veriler var . shift+ctrl+yöntuşu ile alanı seçiyorum, macroyu kaydediyorum.

sheet2 de ise a3 ile b66 arasında veriler var macroyu sheet 2 ye uyguladığımda b40 a kadar işlem yapıyor. burada ki başvuruyu b40 değilde shift+ctrl+yöntuşu nun sonucu olarak nasıl düzeltirim ?
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
eğer a3 hücresinden başlayan ve seçeceğiniz alanın çevresi boş ise
Selection.CurrentRegion.Select kullanarak tüm alanı seçtirebilirsiniz.

sub dene()
a3.select
Selection.CurrentRegion.Select
end sub

bunu deneyerek currentregion ile kastedileni anlamaya çalışın, her zaman işinize yarayacaktır.
 
Katılım
7 Mart 2005
Mesajlar
85
Sub dene()
Range("A5").Select
Selection.CurrentRegion.Select
End Sub

Teşekkür ederim. (CurrentRegion ödevini çalışacağım.)
Yukarıdaki şekilde yaptım, alanın çevresi boş değil o yüzden crtl+* işlevini gördü ama çevresi boş olan yerde yaptım ok.

aslında yapmak istediğim şu,

otomatik bir sıralama işlemi, a5 den başlayıp t45 e kadar alanı seçip sütun c ye göre azalan şekilde sıralasın.. şeklinde bunu yaparkende alt toplam satırı var mesela 45. satır. a5 ve t45 arası tüm alanı seçtirdikten sonra (t45 dip olduğu için) alt toplamı katmamak için bir satır yukarı çekmek. çünkü alttoplam diğer sheetlerde aynı satırda değil.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Birde bu şekilde kullanmayı deneyin.

Sub Makro2()
Cells(5, 1).Select
sonsat = Cells(65536, 1).End(xlUp).Row 'son dolu satırın satır no
sonsat = sonsat - 1 'son satırı istemediğimiz için 1 çıkartıyoruz
MsgBox sonsat
sonsut = Cells(5, 256).End(xlToLeft).Column 'son dolu sütunun sütun no
MsgBox sonsut
Range(Cells(5, 1), Cells(sonsat, sonsut)).Select
End Sub
 
Üst