2016-06-06 2 views
0

나는 데이터를 후 처리하려고 노력 중이다. 마찬가지로 나는 시간 분 및 초를 가진 란을 얻었다. VBA를 사용하여 for 루프의 모든 단일 행을 통과하는 루프를 만들었습니다.(VBA) 임베디드 엑셀 함수의 동적 사용

For i = 2 To Max 
Range("GE" & CStr(i + Offset)).Formula = "=TIME(AK & CStr(i + Offset);AL & CStr(i + Offset);AM & CStr(i + Offset))" 
Next i 

런타임 오류 1004 : 응용 프로그램 정의 또는 개체 정의 오류가 발생합니다.

어떻게 편집 할 수 있습니까?

+1

무엇이 당신의 질문입니까? – Jordan

+0

David 'mArm'암살자가 편집했습니다. 흠, 그것이 작동하지 않았고, 내가 문제를 얻을 수 없습니다. – ventavox

답변

0
For i = 2 To Max 
    Range("GE" & CStr(i + Offset)).Formula = "=TIME(AK" & CStr(i + Offset) & ",AL" & CStr(i + Offset) & ",AM" & CStr(i + Offset) & ")" 
Next i 

loop 변수는 올바르게 작성하기 위해 수식으로 입력하는 문자열의 "외부"에 있어야합니다.

이렇게하면 코드의 오타가 수정되지만 워크 시트의 범위를 구체적으로 설정하는 것이 좋습니다.

세미콜론을 쉼표로 변경했습니다. 여기서는 Excel에서 TIME 함수가 작동하는 방식이므로 세미콜론을 쉼표로 변경했지만 설정이 다르면 되돌릴 필요가 있습니다.

+0

고마워,이 잘 작동합니다. 전에도 시도해 봤지만 어떻게 든 혼란 스러웠습니다. "그러나, 무엇을 의미합니까?"... 워크 시트의 범위를 구체적으로 설정하십시오. "? – ventavox

+0

코드를 지정하지 않았기 때문에 기본적으로 활성 워크 시트의 범위가 코드에서 선택됩니다.이 코드를 sheet1에 대해 실행하려는 경우, 코드를 실행할 때 Sheet2를 선택하면 해당 시트에 대해 실행됩니다 변수를 워크 시트로 선언하고 Range에 접두사를 붙임으로써 피할 수 있습니다 ('Dim ws As Worksheet : Set ws = ThisWorkbook.Worksheets ("Sheetnamehere")') 그리고 나서'ws.Range'를 참조하십시오. 'Range' – Dave

+0

아 좋아요.이 코드는 단지 발췌 일 뿐이므로 내 문제가 줄어들었지만 다시 한번 감사드립니다.) – ventavox