본문 바로가기
엑셀 팁(excel)/엑셀 매크로 VBA

엑셀 필요한 매크로 #2 채워진 셀만 한 줄(행, 열) 선택

by Emlog 2023. 12. 2.

내용(값) 있는 셀만 행 선택

이번 매크로는 표에서 셀을 선택할때 값이 채워진 셀만 선택하는 매크로이다. 간단히 표에서 원하는 행의 한줄을 통채로 선택하는것인데 다른점은 값이 있는 셀만 선택하는것이다.
shift + space 는 전체 행이 선택되니 조금 다른 문제이겠지만, Ctrl + 선택 하거나, 해당 첫번째 셀 선택후 Shift +마지막 셀을 선택하더라도 같은 결과이다. 물론 드래그해서 선택해도 되는 문제이다.

 

 

 

 

굳이 매크로를 만든 이유는 일정하지 않거나 비어있는 셀은 개별로 선택해야 되는 문제가 있다. 값 포함된 연이은 셀은 드래그해서 선택해도 될 간단한 문제이지만, 중간에 비어 있는 셀은 Ctrl + 선택 과 shift + 선택을 적합하게 이용해야 모두 선택이 된다. 나는 셀에 대한 내용을 가공하는것이 아닌 원하는 셀의 배경색을 넣고 싶어서 만든 매크로이다.

매크로 사용 방법

 

엑셀 매크로 vba 어떻게 사용할까 기초 가이드

엑셀의 매크로(Macro)는 반복적이고 자주 사용되는 작업을 자동화하기 위해 녹화하거나 프로그래밍한 일련의 명령어 집합이며, 엑셀 매크로는 VBA(Visual Basic for Applications)라는 프로그래밍 언어를

minidrawer.tistory.com

 

엑셀 매크로 값있는 셀의 행 선택 예시1

매크로 조건 및 코드

매크로의 동작 조건은 다음과 같다.

  • 값이 있는 셀만 선택.
  • 선택 된 셀의 기준으로 행 방향으로 선택.
  • 왼쪽, 오른쪽 모두 선택.
  • 비어있는 셀은 선택하지 않음.

 

Sub 행선택_데이터있는열만()
    Dim 현재셀 As Range
    Set 현재셀 = Selection.Cells(1, 1)

    Dim 마지막열 As Long
    마지막열 = Cells(현재셀.Row, Columns.Count).End(xlToLeft).Column

    Dim 선택범위 As Range
    Set 선택범위 = Range(Cells(현재셀.Row, 1), Cells(현재셀.Row, 마지막열)).SpecialCells(xlCellTypeConstants)

    If Not 선택범위 Is Nothing Then
        선택범위.Select
    End If
End Sub

 

엑셀 매크로 값있는 셀의 행 선택 예시2

매크로 실행

굳이 매크로를 만들 필요가 있을까? 조건부 서식이나 찾기 및 선택의 기능으로 찾을수 있는데? 이 과정조차 귀찮을때가 있다. 단축키를 Ctrl + s 으로 지정한 터라 곧바로 일련의 과정없이 곧바로 적용된다.

원하는 셀을 선택하고 매크로를 실행하면 해당 셀 포함 행 방향으로 값이 존재한 셀만을 선택하게 된다. 비어있는 셀은 선택하지 않으며, 셀을 선택할때 비어있는 셀을 선택하고 매크로를 실행해도 값이 있는 셀만 행 방향으로 선택하게 된다. 

엑셀 매크로 값있는 셀의 행 선택 예시3
엑셀 매크로 값있는 셀의 행 선택 예시4
엑셀 매크로 값있는 셀의 행 선택 예시5
엑셀 매크로 값있는 셀의 행 선택 예시6

 

 

 

 

매크로 응용

엑셀의 매크로 영역은 프로그래밍 언어를 사용하는 영역이다. 쓸때없어 보이는 매크로로 보이지만, 조금만 응용하면 이 방면 플로우는 무궁무진하다.
행 방향이 아닌 열 방향으로도 매크로를 작성해봤다. 당장은 필요하지 않지만 적어두는것이다. 비슷해 보이는 매크로이고 동작도 깔끔하게 반영된다.

 

엑셀 매크로#2.txt
0.00MB

 

Sub 열선택_데이터있는행만()
    Dim 현재셀 As Range
    Set 현재셀 = Selection.Cells(1, 1)

    Dim 마지막행 As Long
    마지막행 = Cells(Rows.Count, 현재셀.Column).End(xlUp).Row

    Dim 선택범위 As Range
    Set 선택범위 = Range(Cells(1, 현재셀.Column), Cells(마지막행, 현재셀.Column)).SpecialCells(xlCellTypeConstants)

    If Not 선택범위 Is Nothing Then
        선택범위.Select
    End If
End Sub

 

엑셀 매크로 값있는 셀의 행 선택 예시7
엑셀 매크로 값있는 셀의 행 선택 예시8
엑셀 매크로 값있는 셀의 행 선택 예시9

 

엑셀 매크로(vba)로 편하게 엑셀하기

 

'엑셀 매크로로 편하게 엑셀하기

사무실 일잘러의 가장 필요한 팁들

minidrawer.tistory.com

 

 

 

 

 

 

엑셀 매크로 값있는 셀의 행 선택