나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 엑셀뉴비 (salladin32)

추천:  2
파일:     조회:  2251
제목:   스택 공간이 부족합니다. 에러 해결 방법 좀 부탁드립니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2016

* 아래줄에 질문을 작성하세요 >>

AD3, AE3 셀의 값으로 RandBetween 함수를 이용하여 H3 셀에 결과를 출력하고자 합니다. 그런데 스택 공간이 부족하다는 에러가 나온 후 엑셀이 꺼져버리는데

어떻게 해결 가능한지 알려주세요.

Private Sub Worksheet_Change(ByVal Target As Range)

    '변수 선언
    Dim Weapon_Min_Option As Single '장착 무기 최소 옵션 수
    Dim Weapon_Max_Option As Single '장착 무기 최대 옵션 수
    Dim Weapon_Option_Result As Single '장착 무기 옵션 결과

    '변수로 값 받아오기
    Weapon_Min_Option = [AD3]
    Weapon_Max_Option = [AE3]
    
    With Target
    
        If WorksheetFunction.CountA(Range("AD3:AE3")) = 1 Then
    
            [H3] = WorksheetFunction.Application.RandBetween([AD3], [AE3])
        
        End If
        
    End With
    
    '결과 값 넣기
    [H3] = Weapon_Option_Result
    
End Sub
 
[불량 게시물 신고]  
slgiWorksheet_Change 함수는 Change Event가 들어 올때 발생합니다.  모든 셀의 Change 일때 들어올때 마다 아래 동작을 하게됩니다. 
변수로 Target이 들어오는데 필요한것만 필터해서 처리하면 될것 같네요.
 Target.row ,Target.column 이 처리를 해야하는 값일때만 계산을 하도록 변경해보세요
08-18 (18:27)
삭제 ■신고
        
  

작성일 : 2020-08-12(17:02)
최종수정일 : 2020-08-12(17:02)