2016-07-03 1 views
-1

정보 영역을 복사하고 값을 붙여 넣으려고합니다. for 루프의 끝 부분에서 특정 셀 값을 변경하여 주변의 정보를 변경합니다. 따라서이 462 회 반복하여 각기 다른 워크 시트의 각 영역을 붙여 넣으려고 시도하고 있으며 각 영역은 이전에 붙여 넣은 것 (행 2에서 시작) 아래의 행에 붙여 넣습니다. 그러나 실제로 프로그램을 실행할 때 아무 일도 일어나지 않습니다. 아무도 이것으로 도울 수 있습니까?Ran시 VBA 코드가 작동하지 않습니까?

정말 고마워요, 코드 아래에 붙여 :

Sub timeToLoop() 
Dim currentVal As Integer, count As Integer, countStr As String, i As Integer 
count = 1 
    For i = 1 To i = 462 
     count = count + 1 
     countStr = CStr(count) 
     currentVal = Range("V34").Value 
     Worksheets("Query_Tab").Range("V34:BQ34").Copy 
      With Worksheets("Compiled") 
       .Range(.Cells(countStr, "A"), _ 
        .Cells(countStr, "AV")).PasteSpecial xlValues 
      End With 
     Worksheets("Query_Tab").Range("V34").Value = currentVal + 1 
    Next i 
End Sub 
+0

왜 .Cells()에서 숫자를 사용합니까? 괜찮아.하지만 .Range()에 더 많은 것 ... 그리고 만약 Count가 i + 1과 항상 같으면 두 변수를 사용할 필요가 없다. –

+0

값을 복사하려면 복사/붙여 넣기가 필요하지 않습니다. 간단한 'SheetB.RangeB.value = SheetA.RangeA.Value'가 수행합니다. –

답변

1

귀하의 문제는 For 루프에서, 그것은해야한다 :

For i = 1 To 462 

다른 사소한 문제/팁이 있습니다. BQ34, 당신은 단지 Range("V34:BQ34").Copy 후 대상 범위를 지정할 수 있습니다, 예를 들면 :

  • 행/열 카운터는
  • countStrV34의 포맷에 따라 다름 사용하는
  • 필요가 없습니다 롱 타입 의입니다 Range("A1:A10").Copy Range("B1:B10")
  • Range() 메서드 내에서 문자열 연결을 사용할 수 있습니다. 예 :
+1

예. 'i = 462' 문은'False'로 평가되고, 0으로 캐스트되고 'For i = 1 To 0'으로 평가됩니다. 'Step -1'을 추가하여 이것을 검증 할 수 있습니다 - 루프가 두 번 실행됩니다. – Comintern

1

Range("A" & count & ":" & "AV" & count) 당신은 참조

currentVal = 범위 ("V34")를 실종되었다. 값

currentVal = 워크 시트 ("Query_Tab하기") .Range ("V34"). 값

나는 Patrick에게 동의한다. 너는 정말로 지나치게 복잡한 것들.

Sub timeToLoop() 
    Application.ScreenUpdating = False 

    Dim currentVal As Integer, i As Integer 
    With Worksheets("Query_Tab") 

     For i = 2 To 463 
      currentVal = .Range("V34").Value 

      .Range("V34:BQ34").Copy Worksheets("Compiled").Range("A" & i & ":" & "AV" & i) 

      .Range("V34").Value = currentVal + 1 
     Next i 

    End With 

    Application.ScreenUpdating = True 
End Sub 
+0

YouTube에서 가능한 한 많은 WiseOwls 튜토리얼을보아야합니다. [Ranges] (https://www.youtube.com/watch?v=c8reU-H1PKQ&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5&index=5)에 있습니다. 나는 또한 [Smart Indenter] (http://www.oaltd.co.uk/indenter/indentpage.asp)를 추천 할 것입니다. 무료 다운로드로 코드를 들여 쓰게됩니다. –