rand(life)

[VBA] 몇가지 코드 본문

컴퓨터/엑셀

[VBA] 몇가지 코드

flogsta 2017. 3. 18. 09:00

'시트의 모든 내용 지우기

 Worksheets("시트명").Cells.Clear 

'시트안에 있는 모든 그림 지우기

   Worksheets("시트명").Pictures.Delete


시트안에 있는 첫번째 그림등을 복사해서 붙여넣기

Worksheets(시트명).Shapes(1).Copy

Worksheets(시트명).PasteSpecial


붙여넣은 다음에는 자동으로 선택상태가 되므로

With Selection            ' 그림 위치 조정

 .Top = 20

 .Left = 40

End With



띄어쓰기나 특수문자가 있는 경우에는 아래처럼 입력하세요.

cmb차종.Rowsource = "'차량-판매현황'!A3:A10"

시트이름을 작은 따옴표로 묶어야 합니다.



[변수 선언시 접미사]
데이터 형식 | 접미사
Integer : %
Long : &
Currency : @
Double : #
Single : !
String : $        

하지만 VBA에서 접미사를 유용하게 사용할 때는 문자열 관련 함수를 사용할 때입니다. 
보통 문자열 함수는 Variant(String) 값을 반환하게 되는데요. 
이때 함수에 접미사를 붙이면 String 값을 반환하게 되어 코드가 효율적이됩니다. 
예를들어 Mid() = Variant(String) 이지만 Mid$() = String 이 되는 형식입니다. 
이는 MS에서 권장하는 스타일로 사용하시는 편이 좋습니다. 

이외에는 따로 사용하실 일이 없다고 보시면 되겠습니다. 



한글의 메일머지 기능과 유사하게, 하나의 시트를 번호를 다르게 붙여 출력

접수번호 3-1부터 3-10까지 출력된다   

With ActiveSheet.PageSetup                                       '현 시트의 페이지 설정

        For i = 1 To 10   

           Range("A3").Value = "접수일: 2017년  3월   10일    접수 번호 : { 3 - " & i & " }      "

               ' ActiveSheet.PrintPreview                              '실제 인쇄시 이줄 삭제. 아랫줄 사용.

                ActiveSheet.PrintOut from:=i, To:=i

        Next i        

        .CenterFooter = ""                                                 '바닥글 페이지 없애기

    End With