excel VBA

4078 단어

영.excel 2016 VBA 오픈


Excel 옵션 대화상자에서 리본 사용자 지정 옵션을 클릭하고 오른쪽 패널의 목록 상자에서 개발 도구 확인란을 선택한 다음 확인 버튼을 클릭합니다.

1. VBA 기반


주: 단축키ctrl+공백: 변수 이름 보완, Ctrl+J

0. 주석

' 주석 코드
디버그 출력:
'  
Debug.Print "Hello, World!"`
msgbox("hello")`

1. 변수 선언

Dim xx as type
const xx as type = value

Dim i as Integer
i = 3

'   
' String Integer Long Single Double
' Date Boolean Variant Object

1.1 문자열 연결 사용 & 사용하지 마세요 +


1.2 배열

dim myarr(5) as integer ' dim myarr(0 to 5) as integer   6  
dim myarr(5 to 10) as integer ' 5 10 
dim dyn_array() as integer ' 
redim dyn_array()(array_size) ' 
redim preserve dyn_array(array_size) '  

arr = Range("A1:A5")


순환
for each city in cities  
    msgbox city 
next

For i = 0 to 5
     ' 
     myarr(i) = i
Next

For i = 0 to 5 
     Debug.Print  myarr(i) 
Next

관련 함수
set myArr=Array("Ford","Black","1999")
IsArray(myArr)  
Erase(myArr) 
LBound、UBound(myArr)  

2. 논리적 비교

= <> > < >= <= AND OR NOT

3. if 문장:

if ... then
  ...
elseif 
  ...
else 
  ...
end if

4. for 문구

 : break continue, while , 

for counter=start to end [step step]
  ... exit for
next [counter] 

 

for each element in group
 ... exit for
next [element]

5. while 문장

do while|until condition
 ...
loop 

 

do
 ...
loop while|until condition

2. 워크북 관련


1. range 속성:

range("a5").select ' 
range("A1:A10").select ' 
range("A1,B6,C8").select ' 
range("A1:A10,C12,D3").select ' 

 range

for each tmpRange in someRange
    ...
next for

2. cells 속성

cells(5,1).select  cells(5,A).select
range(Cells(6,1),cells(10,1)).select
cells.select ' 

3. offset 속성

Range("A1").offset(1,3).select ' A1 3 
range("D15").offset(-2,-1).select
selection.offset(-2,-1).select
selection.resize(2,4).select

4. 셀을 선택하는 다른 방법

activeCell.end(xlToRight).select
activeCell.end(xlDown).select 'xlToLeft,xlUp

5. 전체 행과 열 선택

selection.entirerow.select
selection.entirecolumn.select

6. 셀 내용 설정

activesheet.range("A1:C4").value="=4*25"
activesheet.range("A1:C4").formula="=4*25"

7. 워크북과 워크시트 조작

WorkBooks.add ' 
workbooks.open filename:=xxx ( ! thisworkbooks.path &"\...")
workbooks(1).name
workbooks(2).activate
workbooks("chap02.xls").activate
workbooks(1).close

worksheets.add
worksheet.select
worksheet.activate

8. 시스템 경고 프롬프트 열기 및 닫기

Application.DisplayAlerts = False 
Application.DisplayAlerts = True 
Application.ScreenUpdating=false
'   
Application.ScreenUpdating=True 
_+ 를 사용하면 긴 코드 줄을 끊을 수 있습니다.

9. 설정 대상의 값은 set을 사용해야 합니다. 예를 들어workbook 등입니다.


10. 줄 바꿈 Chr(10)


11. 효율성 향상:

  • (1) 가능한 한 VBA 원생의 속성, 방법과worksheet 함수를 사용한다. 예를 들어 A1:A1000의 평균값을 요구하면 Application.WorksheetFunction.Average(Range("A1:A1000"))를 사용하면 자신이 순환 통계sum값을 쓰고 평균값을 구하는 것보다 좋다.
  • (2) 대상의 인용을 최대한 줄이고 특히 순환 중에 with 문장을 사용하는 것이 좋거나 대상 변수를 사용하는 것이 좋다(set 설정 변수 값 주의).
  • (3) 객체의 활성화 및 선택 감소(예:
  • sheets("sheet3").select; range("A1").value=100... ;
     
    with sheets("Sheet3"); .Range("A1").value=100...
    
  • (4) 화면을 닫고 응용 프로그램을 업데이트합니다.ScreenUpdating=false/true
  • 좋은 웹페이지 즐겨찾기