이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
글 수 113
If Me.CommandButton1.Caption = "Start!" Then
Me.CommandButton1.Caption = "Stop!"이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
신강현님..
안녕하세요?
지방기능경기대회 2011년도 문제군요..
변수는 미리 Type을 정의하고 사용하는 것이 좋습니다.
아래처럼..
pizza를 Range로 설정하고 Set으로 셀 영역을 할당해주면.. pizza(해보자) 처럼 몇번째 셀로의 접근이 가능해집니다.
Dim pizza As Range
Set pizza = Sheet3.Range("b7:b" & Sheet3.Range("b1048576").End(xlUp).Row)
질문하신 문제의 원인에 대해서 설명드리겠습니다.
pizza를 별도의 선언문 없이 바로 사용하면,
VBA 내부에서 Variant형식으로 인식하는데..
Variant형식의 변수에 셀 영역을 지정하면 2차원 배열로 인식합니다.
그래서 pizza(해보자)라는 식으로는 하면 "아래 첨자 사용이 잘못되었습니다."라는 에러가 발생하게 됩니다.
이럴때는 아래처럼 하시면 에러가 해결됩니다.
Me.TextBox1 = pizza(해보자, 1)
그럼에도 불구하고.. 맨 위에 설명해드린 것처럼..
셀 영역으로 선언하고, 셀 영역의 몇번째 셀로 접근하는 것이 정석입니다.
변수를 선언하지 않고 사용하는 것은 올바른 프로그래밍이 아닙니다.
도움이 되셨기를.. ^^