2013-10-02 4 views
0

나는 userform의 두 날짜와 배열의 columm을 비교하는 코드를 작성하고 있습니다.배열의 날짜 비교

그 사이에있는 경우 전체 행을 다른 배열에 설정하십시오.

Dim vD1 As Variant           
Dim vD2 As Variant 
vD1 = UserForm1.TextBox1.Value 
vD2 = UserForm1.TextBox2.Value 

If vD1 = Empty Then 
    vD1 = #1/1/2010# 
End If 

If vD2 = Empty Then 
    vD2 = #1/1/2100# 
End If 

vD1 = Format(vD1, "General Number") 
vD2 = Format(vD2, "General Number") 

For i = 1 To 100 
    If myArray5(i, 1) >= vD1 Then 
    If myArray5(i, 1) <= vD2 Then 
     For j = 1 To 8 
     myArray6(i, j) = myArray5(i, j) 
     Next j 
    End If 
    End If 
Next i 

For i = 1 To 100 
    If myArray5(i, 1) <= vD1 Then 
    If myArray5(i, 1) >= vD2 Then 
     For j = 1 To 8 
     myArray6(i, j) = Empty 
     Next j 
    End If 
    End If 
Next i 
+0

이 코드의 문제점은 무엇입니까? myArray5 란 무엇입니까? – Santosh

답변

0

정말이 내용은 myArray5 및 myArray6의 내용과 형식에 따라 다릅니다. Excel VBA의 날짜 비교 방법 및 기능에 대한 자세한 내용은 Excel 개발자 사이트에서 this link을 확인하십시오. 또한

If (myArray5(i, 1) >= vD1) and (myArray5(i, 1) <= vD2) Then _ 
myArray6(i, j) = myArray5(i, j) 

당신의 의견과 들여 쓰기를 추가하려고 수 있습니다 그럼 예를 들어 그리고 문을 문 ... 경우

또한, 조감도에서, 당신은 을 결합하여 향상시킬 수 귀하의 코드에 - 이것은 크게 디버깅 도움이 될 것입니다!