VBA 첫열에 지정해둔 문자 찾아서 원하는 열로 옮기고싶습니다

질문보기분류: 엑셀VBA 첫열에 지정해둔 문자 찾아서 원하는 열로 옮기고싶습니다
sunju6882 asked 4 개월 ago

안녕하세요 첫열에 해당하는 단어가 있으면 그 열자체를 지정한 열위치에 옮기게끔 하고싶은데 조언부탁드려요!

1 Answers
엑셀악마 answered 4 개월 ago

.          A               B                 C

1    “가나다”    “라마바”       “마사자”

2

3

 

Sub 위치이동()
Dim lrow, lcol As Long
Dim trgTest As String

trgTest = "마"

'마지막 행 찾기
lrow = Cells(Rows.Count, 1).End(xlUp).Row
' ** 참고: row 사이에 빈 값이 있을 경우 잘 작동하지 않을 수 있음

'마지막 열 찾기
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
' ** 참고: 컬럼 사이에 빈 값이 있을 경우 잘 작동하지 않을 수 있음

For i = 1 To lcol   '첫 번째 열부터 마지막 열까지 순차적으로 읽음
If InStr(1, Cells(1, i), trgTest) > 0 Then ' 첫번째 행의 i 열이 trgTest를 포함하고 있는것이 True 라면
'If Cells(1,i) = trgTest Then   <- trgTest를 포함하는 것이 아니라 정확히 일치해야 하는 경우 이 line으로 대체 사용
MsgBox ("마!!")

' 현재열의 위치값은 변수 i에 저장되어 있음

' 현재 i 열 전체를 G 열로 이동 함
Columns(i).Cut Columns("G")
End If
Next
End Sub

위의 예제를 활용해서 테스트 한번 해보세요.

 

위의 예제를 실행할 경우

“마” 를 포함하고 있는

 

B열과 C열 모두가 G로 이동합니다.

sunju6882 replied 4 개월 ago

답변 감사합니다! 추가적으로 적어야될것을 안적었는데 열을 이동할때 그냥 이동하는게 아니라 열 추가를 하여 옮기고 싶은데 어떻게 수정해야될까요?

wlfansekq replied 4 개월 ago

Range(“B:B”).Insert <- 를 실행하시면 B 열에 열추가가 됩니다.

원하시는 위치에 열 추가 하시고 작업핫면 됩니다.

wpChatIcon