반응형
S Y N O P S I S #VBA로 스택 구현하기
- VBA로 구현한 스택이다.
- 별 건 없다. 필요할 때 가져다 쓰려고 만들어봤다.
VBA Code
Option Explicit
Option Base 0
Const MAXI = 5 'stack 크기 설정
Dim myTop As Long
Sub myStack()
Dim myArr() As Variant
myTop = -1
ReDim Preserve myArr(MAXI) 'stack 크기만큼 배열 초기화
Call push(myArr, "아이템 1")
Call push(myArr, "아이템 2")
Call pop(myArr)
Call pop(myArr)
End Sub
Function push(ByRef fn_arr() As Variant, ByVal fn_item As Variant)
If myTop = MAXI Then 'top index가 스택의 끝이라면
MsgBox "OVER FLOW!"
Exit Function 'push 종료
Else
myTop = myTop + 1 'top index 증가
fn_arr(myTop) = fn_item 'push
push = fn_arr(myTop)
Debug.Print "PUSH: " & fn_arr(myTop)
End If
End Function
Function pop(ByRef fn_arr() As Variant)
If myTop < 0 Then 'top index가 0이면, 배열이 비어있으면
MsgBox "ARR IS EMPTY!"
Exit Function 'pop 종료
Else '비어있지 않으면
pop = fn_arr(myTop) '아이템 꺼내고
Debug.Print "POP: " & fn_arr(myTop)
myTop = myTop - 1 'top index 감소
End If
End Function
매크로 실행 동영상
없음.
Copyright (2018) Ruahneuma. All Rights Reserved.
반응형
'VBA Macro > VBA Excel' 카테고리의 다른 글
[엑셀] 워크시트의 오류값 리턴(CVErr 함수) (0) | 2018.03.05 |
---|---|
[엑셀] 병합된 셀을 풀고 같은 내용으로 채우기 (1) | 2018.01.24 |
[엑셀] 유사 단어의 일치도(%) 산출 매크로 (11) | 2018.01.13 |
[엑셀] 글자 수 세기 (사용자 정의 함수) (0) | 2018.01.11 |
[엑셀] DOM 방식의 웹페이지 정보 가져오기 (사이트 추천) (0) | 2017.12.22 |