2012-04-13 2 views
2

현재 Excel VBA에서 배열로 많은 데이터를 처리하고 있습니다. 지금까지는 공백 셀을 포함하는 소스 데이터가 0으로 취급되었지만 이제 공백 셀과 셀이 0 인 셀을 구별해야합니다.VBA : 0이 아닌 빈 배열 요소에서 "blank"를 출력합니다.

배열 출력을 0이 아닌 0으로 만들 수 있습니까? 그런 ...

aArray(5) as double 
Range("A1:E5") = aArray() 

무언가로 채워진 배열 요소에 해당하는 범위의 셀에만 값을 출력합니까? 배열이 비어 있다면 나는 여전히 [0,0,0,0,0]을 얻을 것입니다.

+6

aArray를 Double로 선언 했으므로 empty가 0으로 변환됩니다. Variant로 선언해야합니다. –

+0

@TonyDallimore 당신은 대답을 – psubsee2003

+0

@ psubsee2003으로 만들어야합니다. 제안 해 주셔서 감사합니다. –

답변

2

psubsee2003이 (가) 친절하게 제안한 의견에서 변환되었습니다.

aArray를 Double으로 선언 했으므로 빈 요소가 0으로 변환됩니다. Variant로 선언해야합니다.

+0

귀하의 의견을 볼 때까지 나는이 정확한 답변을 실제로 입력하고있었습니다. 사람들은 'Variant'의 유형 안전성이 부족하다는 점을 감안할 때 Excel의 일부 기능 (특히 0과 빈 칸을 다른 것으로 식별)을 처리하는 가장 좋은 방법입니다. – psubsee2003

+0

와우, 가능한 한 많이 피하려고했기 때문에 변형 유형을 사용하는 것이 내 마음을 초월하지 못했습니다. 그러나이 상황에서 분명한 대답입니다. 고마워요! – beerskij

+1

데이터 유형 Variant를 피할 수 있습니다. 정수가 될 수있는 문자열과 배열이 될 수있는 무언가가있는 오버 헤드가 있으며 유형 보호가 없습니다. 그러나 셀은 변형과 거의 같은 유연성을 가지고 있으며 오류 또는 손실없이 모든 셀을 전송할 수있는 유일한 데이터 유형입니다. VarType 함수를 사용하여 Variant가 보유하고있는 데이터 유형을 알 수 있습니다. –

관련 문제