Aktif Hücreye Göre Aktif Satırı Ve Aktif Sütunu Seç - Microsoft Excel


Örneğin E10 hücresini seçtik ve kodu çalıştırdık. A10:E10 olacak şekilde satır seçimi yapılırken E1:E10 olacak şekilde sütun seçimi yapılıyor.

Kod


Option Explicit

Sub AktifHucreSinirOlacakSekildeHucreninSatiriniVeSutununuSec()
    If Selection.Cells.Count > 1 Then Exit Sub
    
    Dim satir      As Long
    Dim sutun      As Long
    Dim aktifSatir As Range
    Dim aktifSutun As Range
    Dim aktifHucre As Range
    Dim secim      As Range
    
    Application.EnableEvents = False
    
    satir = ActiveCell.Row
    sutun = ActiveCell.Column
    Set aktifHucre = ActiveCell
    
    Set aktifSatir = Range(Cells(satir, 1), Cells(satir, sutun))
    Set aktifSutun = Range(Cells(1, sutun), Cells(satir, sutun))
    Set secim = Union(aktifSatir, aktifSutun)
    
    secim.Select
    aktifHucre.Activate
    
    Application.EnableEvents = True
End Sub

Kod (Açıklamalı)


Option Explicit

Sub AktifHucreSinirOlacakSekildeHucreninSatiriniVeSutununuSec()
    
    '--------------------------------------------------
    'Eğer seçilen hücre sayısı 1'den büyükse kod çalışmasın.
    '--------------------------------------------------
    If Selection.Cells.Count > 1 Then Exit Sub
    
    '--------------------------------------------------
    'Seçececeğimiz hücreye göre işlem yapacağız.
    'Bu yüzden de satır ve sütun sayılarını alacağız.
    'Buna göre belirleyeceğimiz yeni seçim için de
    'Range tipindeki değişkenleri kullanacağız.
    '--------------------------------------------------
    Dim satir      As Long
    Dim sutun      As Long
    Dim aktifSatir As Range
    Dim aktifSutun As Range
    Dim aktifHucre As Range
    Dim secim      As Range
    
    '--------------------------------------------------
    'Eğer bir olay tetiklenmesi söz konusu ise olmasın.
    '--------------------------------------------------
    Application.EnableEvents = False
    
    '--------------------------------------------------
    'Aktif hücre ile ilgili veri
    'alma ve atama işlemini yaptık.
    '--------------------------------------------------
    satir = ActiveCell.Row
    sutun = ActiveCell.Column
    Set aktifHucre = ActiveCell
    
    '--------------------------------------------------
    'Seçim yapılacak satır bölgesi için ayarlama yaptık.
    '--------------------------------------------------
    Set aktifSatir = Range(Cells(satir, 1), Cells(satir, sutun))
    
    '--------------------------------------------------
    'Seçim yapılacak sütun bölgesi için ayarlama yaptık.
    '--------------------------------------------------
    Set aktifSutun = Range(Cells(1, sutun), Cells(satir, sutun))
    
    '--------------------------------------------------
    'İki seçimi (alanı) birleştirdik.
    '--------------------------------------------------
    Set secim = Union(aktifSatir, aktifSutun)
    
    '--------------------------------------------------
    'Birleştirilen alanı seçtik.
    '--------------------------------------------------
    secim.Select
    
    '--------------------------------------------------
    'İlk başta seçtiğimiz hücrenin tekrardan
    'aktif hale gelmesini sağladık.
    '--------------------------------------------------
    aktifHucre.Activate
    
    '--------------------------------------------------
    'Olay tetiklenmesi işlemini tekrardan aktifleştirdik.
    '--------------------------------------------------
    Application.EnableEvents = True
End Sub

Etiketler
microsoft excel açıklamalı içerik microsoft excel vba