목록분류 전체보기 (123)
남극
시트 숨기기 시트를 생성하고 삭제하는 게 이어서 숨기는 기능도 있습니다. Sub test() Sheets("시트2").Visible = false End Sub 시트를 안 보이게 하는 소스코드입니다. 영상처럼 삭제된 것같이 보이게 할 수 있습니다. 이번에는 다시 나타나게 하는 방법입니다. 어떻게 할지 감이 오시나요?? Sub test() Sheets("시트2").Visible = True End Sub 네 false를 true로만 바꾸어 주면 됩니다. 이상 시트를 감추고 나타내는 방법이었습니다.
시트 추가하기 VBA에서 시트를 추가하는 방법에 대해서 알아보도록 하겠습니다. 시트를 추가할 때는 Add 메서드를 사용합니다. Sub test() Sheets.Add After:=Worksheets(Worksheets.Count) Worksheets(Worksheets.Count).Name = "시트2" End Sub 결과를 보시면 시트 2라고 해둔 것이 잘 나오는 것을 보실 수 있습니다. 이 프로시저를 2번 실행하면 에러가 납니다. "시트 2"라는 이름이 겹치기 때문입니다. 그렇지만 2번째 라인을 지우면 기본 이름으로 계속 만들 수 있습니다. 이제 시트를 복사해봅시다. 시트에 데이터를 복사해본 적은 있지만 시트 자체를 복사해본 적은 없었습니다. Sub test() Sheets("시트2").Copy Af..
Sheet 다루기 엑셀에서는 시트를 여러 가지 만들 수 있습니다. 값을 구분하기 위해서이죠. 매크로를 만들 때 시트에 특성에 맞는 매크로가 필요하기 마련입니다. 그런데 "sheet1"에서 실행해야 하는 매크로를 "sheet2"에서 실행했다고 가정해봅시다. 양식도 다르고 원하는 데이터도 다르기에 에러가 나거나 원치 않는 결과를 얻게 됩니다. 그래서 우선적으로 가볍게 시트를 다루는 것부터 연습을 해봅시다. 시트 선택하기 Sub test() Sheets("Sheet2").Select End Sub Sheets는 어떤 시트이든지 상관없이 시트를 선택하는 함수입니다. 영상처럼 시트가 바뀌는 것을 보실 수 있습니다. Sub test() Sheets(Array("Sheet3", "Sheet4")).Select End..
기본적인 범위 이동 기본적으로 범위를 이동할 때 우리는 offset이라는 함수를 사용했습니다. Sub test() ActiveCell.Offset(1, -1).Select End Sub 이런 식으로 현재 사용했던 셀에서 움직였습니다. 위의 소스코드에서 (1,-1) 행, 열입니다. 1열 뒤로 가고 1행이 밑으로 내려가죠. 실행시키면 영상처럼 잘 나옵니다. 범위 크기 재설정 범위의 크기를 재설정하는 방법은 이렇습니다. Sub test() Selection.Resize(Selection.Rows.Count + 1, Selection.Columns.Count + 1).Select End Sub 현재 row와 column의 값을 받아서 더하고 싶은 범위를 정해줍니다. 줄이고 싶다면 -1을 하면 됩니다. 영상을 보..
동적으로 범위 지정하기 우리는 값이 입력되어 있는 범위에 대해 정확히 알고 소스코드를 짜지 않으면 원하는 결과가 나오지 않는다는 것을 알고 있습니다. 정확하게 알고 있지 않으면 범위를 벗어날 수도 있고 범위를 부족하게 잡을 수도 있죠. 그래서 범위를 사용된 크기에 따라서 동적으로 지정해주어야 합니다. Worksheet.UsedRange 이 함수는 현재 사용된 셀의 범위를 리턴해줍니다. Sub test() ActiveSheet.UsedRange.Select End Sub 현재 사용된 셀의 범위를 선택하는 메서드입니다. 하지만 주의해야 할 점이 있습니다. 영상을 보시죠. 값이 입력된 부분만이 아니라 셀에 테두리가 있는 곳도 범위로 인식을 하기에 주의하셔야 합니다. Range.End Range안에 있는 셀을 ..
Clear 범위값을 지울 때 가장 기본적으로 사용되는 함수입니다. 가장기본적인 함수 Clear는 지정된 cell의 전체를 지우는 함수입니다. 값, 메모, 서식 등의 설정을 모두 지웁니다. Sub test() Range("A1").Clear End Sub cell에 설정한 조건을 하나하나 지울 수도 있습니다. Sub test() Range("A1").ClearComments End Sub 이 소스코드는 전체를 지우지않고 그저 메모만 지우는 함수입니다. Sub test() Range("A1").ClearContents End Sub 위에서는 메모만을 지웠지만 이 소스코드는 값 만을 지울 수 있습니다. 이와 같이 각각의 설정을 하나하나 지워줄 수 있습니다. 범위에 해당한 셀을 복사하거나 붙여넣기 우선 범위를 ..