가끔은 아주 가끔은 애먹을 일이 있으면 보게 됩니다
숫자가 지수형식으로 display 됨으로 인한 오류 사전 예방입니다
Option Explicit
Sub NumericCheck()' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date : 2015-05-14
' 배열내 숫자가 오류인지 아닌지를 검사할 임시 배열입니다.
Dim tmpVarr(1 To 20, 1 To 4)
Dim iip As Double
For iip = 1 To 20
tmpVarr(iip, 1) = Rnd
tmpVarr(iip, 2) = Rnd
tmpVarr(iip, 3) = tmpVarr(iip, 2) - tmpVarr(iip, 1)
tmpVarr(iip, 4) = "=rc[-1]-rc[-2]"
Next
Cells(1, 1).Resize(21, 5).ClearContents
Cells(1, 1).Resize(20, 4).Value = tmpVarr
Call ErrChk(tmpVarr)
End Sub ' ___ 모듈 종료
Sub ErrChk(His_Variant As Variant)' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date : 2015-05-14
' 배열내 숫자가 오류인지 아닌지를 검사합니다.
' 오류로 반환되는 경우에는 숫자의 형식을 미리 확인합니다.
Dim i_i As Double
Dim j_j As Double
Dim chkkV As String
Dim cnt_i As Double, cnt_j As Double
Dim AnswUniq As New Collection
If TypeName(His_Variant) = "Variant()" Then
Else
If IsNumeric(His_Variant) = True Then
chkkV = "'" & His_Variant
If chkkV Like "*E*" Then
If Mid(chkkV, 3, 1) = "." Then
AnswUniq.Add "Value Error = " & Mid(chkkV, 2)
End If
End If
End If
If AnswUniq.Count <> 0 Then GoTo Error_Found_OZman
End If
cnt_i = UBound(His_Variant, 1)
cnt_j = UBound(His_Variant, 2)
For i_i = 1 To cnt_i
For j_j = 1 To cnt_j
If IsNumeric(His_Variant(i_i, j_j)) = True Then
chkkV = "'" & His_Variant(i_i, j_j)
If chkkV Like "*E*" Then
If Mid(chkkV, 3, 1) = "." Then
AnswUniq.Add "Error R/C " & i_i & "/" & j_j & "= " & Mid(chkkV, 2) & " ~~ " & CDec(Mid(chkkV, 2))
End If
End If
End If
Next
Next
If AnswUniq.Count <> 0 Then GoTo Error_Found_OZman
Exit Sub
Error_Found_OZman:
cnt_i = AnswUniq.Count
Debug.Print
Debug.Print
Debug.Print "Errrrrr", Now
For i_i = 1 To cnt_i
Debug.Print AnswUniq(i_i)
Next
Debug.Print "See Again"
Debug.Print
MsgBox "Numeric Error Check Again ", vbOKOnly, "Special Module By OZMAN"
End Sub ' ___ 모듈 종료
'엑셀보조파일,기능,함수' 카테고리의 다른 글
수식에서의 -- 역할 및 SUMPRODUCT 함수 예제 입니다. (1) | 2016.03.02 |
---|---|
10진수를 2진수로 변환하기(내장함수 한계극복) (0) | 2015.06.23 |
사용자 함수를 찾는 vba 코드 입니다 (2) (0) | 2014.08.21 |
사용자 함수를 찾는 vba 코드 입니다. (0) | 2009.05.26 |
[ 문자열 비교하는 사용자 함수 ] 예제 입니다. (1) | 2009.03.29 |
Word, Excel 및 PowerPoint 2007 파일 형식용 Microsoft Office 호환팩 (2) | 2009.03.24 |
수식에서 사용하는 -- 의 역할 예제 입니다. (1) | 2009.02.10 |