2014-07-06 7 views
0

"VALUES"및 "INSERT"테이블이 두 개인 있습니다. 표 "INSERT"에서 셀 "A1"은 "VALUES"의 행 ">"만큼 여러 번 처리해야하는 값을 포함합니다.값을 n 번 복사하십시오.

다음 코드를 시도했지만 나처럼 작동하지 않습니다. "VALUES"에서 "A1"의 값을 다른 행마다 4 번 복사합니다.

내가 뭘 잘못하고 있니? 도와 줘서 고마워!

Sub InsertValuePart() 
Dim maxRow As Integer 
Dim calcVal As String 
Dim x As String 
Dim i As Long 
Sheets("VALUES").Select 
maxRow = Cells(Rows.Count, 1).End(xlUp).row 

Sheets("INSERT").Select 
Cells(1, 1).Activate 
x = Cells(1, 1).Value 

Cells(2, 1).Select 

For i = 1 To maxRow 
Cells(i, 1).Value = x 
i = i + 1 
Next 
Application.CutCopyMode = False 

Range("A1").Select 

End Sub 

답변

0

이 당신의 for 명령 처리로 i을 정의 할 필요가 없습니다. 또한 for 명령은 각 값을 자동으로 반복하므로 i = i + 1을 사용하면 i = 1, 3, 5 값이 제공됩니다. 포함시키지 않으면 i = 1,2,3,....,maxRow. 또한 는 사용되지 않았으므로 제거했습니다.

Sub InsertValuePart() 
Dim maxRow As Integer 
Dim x As String 

maxRow = Sheets("VALUES").Cells(Rows.Count, 1).End(xlUp).Row 
x = Sheets("INSERT").Cells(1, 1).Value 

For i = 1 to maxRow 
    Sheets("INSERT").Cells(i,1).Value = x 
Next 

Sheets("INSERT").Range("A1").Select 

End Sub 

또 다른 방법

은이 한 줄에 아래와 같습니다해야 할 일 :

Sub InsertValuePart() 
    Sheets("INSERT").Range("A1", "A" & CStr(Sheets("VALUES").Cells(Rows.Count, 1).End(xlUp).Row)).Value = Sheets("INSERT").Range("A1").Value 
End Sub 
+0

나는 "명시 적 옵션"을 사용하여, 나는 내가 선언했다. 다른 변수는 나중에 실행하기위한 변수입니다. 하지만 스크립트는 잘 작동합니다 :) 감사합니다! – alphaService

관련 문제