IT/Excel & VB & VBA

두번째. 엑셀시트에 내용을 매크로에서 가져오고 쓰기2

원창연 2020. 11. 28. 11:01

▶ 엑셀시트에 위치 및 셀에 값을 변경하기

Public Sub 사용자처리()
    Sheet("sheet1").Cells(3, 3) = "하하하하"
End Sub

※ 참고
Sheet("시트명") : 특정 시트
Workbooks("파일명").Sheet("시트명") : 해당파일명에 해당 시트명

ActiveWorkbook : 현재 활성화 되어 있는 파일 [("파일명")은 없음]
ActiveSheet    : 현재 활성화 되어 있는 시트 [("시트명")은 없음]

 

▶ 엑셀 시트의 위치를 선택하는 두가지 방법

 Range("C2") 라 직접 쓰는 방식이 있지만 우리가 반복작업을 하기위해 A->B->C를 FOR문이나  lOOP에서 돌리기 어렵기 때문에 Cells(세로줄 라인위치, 가로줄 라인 위치)를 사용합니다.

하단은 ' 로 주석을 하였고 동일한것으로 Cells명령어를 사용하여 작성해보았습니다.

End Sub
    '주석 엑셀 시트에 가져오는 방법
    MsgBox Cells(3, 3)         'Cells(행[y축] 위치, 열[x축] 위치) 표시
    MsgBox Range("C3")         'Range는 열은 영문으로 행은 위치로 표시  
   
End Sub

※ 주석은 ' 작은따옴표 하나이며 작은따옴표 뒤에는 전부 주석됨   

※ 위 두가지 방법은 동일한 결과를 갖게 됨

 

▶ 엑셀 시트쓰기, 엑셀시트에서 값을 사용하기

   등호(=)을 사용하고 오른쪽에 시트에 저장할값을 쓰면됩니다.

 Public Sub 사용자처리()
   
    Cells(3, 3) = "하하하하"                     '=>엑셀시트에 하하하하를 저장
    Range ("C3")= "하하하하"
    
    MsgBox  Range ("C3")                        ' 엑셀시트값을 사용하기
   
End Sub

  처리결과)

C3 또는 3,3에 값을 저장

 

 

Sheets는 일반 Visual Basic(일명 VB)에는 없는 함수로 엑셀에 내장되어 있는 VB로 사람들은 Visual Basic Application(일명 VBA) 라고 합니다. 

 

※ 요약정보

파일함수.시트함수.셀함수

파일함수 : ActiveWorkbook,Workbooks("파일명")
시트함수 : ActiveSheet. WorkSheet("시트명")
셀함수   : ActiveCell, Cell(행 위치, 열 위치), Range( 열 영문, 행위치)
           Range예) Range("D1") 하고 Cells(1,4) 는 동일함
           
※ Cells를 많이 쓰는이유는 For, Loop문으로 코딩하기 위해 많이 사용함