2016-07-14 2 views
0

내 문제는 다음과 같습니다간단한 코드 오류 - 엑셀 VBA는

  • 나는 이벤트를 표시하고이 일어난 곳 시트 "Crono"에 2 열 수 있습니다. 이벤트의 시작 날짜와 종료 날짜가 두 열 더 추가되어야합니다.

정보는 모두 다른 시트 ("Projetos Novo")에 있습니다. 이벤트의 수는 가변적이어서 그 이유는 변수 i를 생성 한 이유입니다. 나는이 코드를 실행하면

는 충돌 후 Run-time error '91': Object variable or With block variable not set

그것은 실제로 복사 처음 여섯 날짜를 표시합니다.

나는 친절한 도움이 필요합니다!

Sub Datas() 

Dim w As Long 
Dim t As Long 
Dim i As Long 


t = Sheets("Crono").Cells(Rows.Count, "A").End(xlUp).Row 


For i = 8 To t 

w = Sheets("Projetos NOVO").Range("C:C").Find(Sheets("Crono").Range("A" & i).Value).Row 


If Sheets("Projetos NOVO").Range("D" & w).Find(Sheets("Crono").Range("C" & i).Value).Row Then 


Sheets("Crono").Range("F" & i).Value = Sheets("Projetos NOVO").Range("R" & w).Value 
Sheets("Crono").Range("G" & i).Value = Sheets("Projetos NOVO").Range("S" & w).Value 

Else 

End If 

Next i 

End Sub 

`

답변

0

의 값이 Crono 발견되면 당신은 테스트 후 Range 변수로 작동되어야한다 (그것은 당신이 현재 볼 수있는 오류를 얻을 것이다 발견되지 않는 경우)

Sub Datas() 

Dim rng1 As Range 
Dim t As Long 
Dim i As Long 

t = Sheets("Crono").Cells(Rows.Count, "A").End(xlUp).Row 

For i = 8 To t 

Set rng1 = Sheets("Projetos NOVO").Range("C:C").Find(Sheets("Crono").Range("A" & i).Value) 
If Not rng1 Is Nothing Then 
    MsgBox rng1.Row 
Else 
    MsgBox Sheets("Crono").Range("A" & i).Value & " not found" 
End If 
+0

감사합니다. 문제는 다른 시트로 이동하여 두 셀 (열 R 및 S)에서 두 값을 복사하고 행 번호를 위와 같은 방법으로 사용하려고합니다. 추측한다면 내 오류가 있습니다 : \ –

+0

내가 충분히 명확하게하지 않으면 나는하지 않습니다. 영어로 유감입니다! 하지만이 행을 숫자로 사용하여 나중에 if 값과 함께 사용할 값을 찾습니다. –