2013-04-19 3 views
1

행의 특정 셀 값을 복사하여 다음 행의 다른 셀에 붙여 넣기를 원합니다. 여기까지 내가 지금까지 가지고있는 것이있다.특정 셀의 값을 복사하여 다음 행의 셀에 붙여 넣기

for i= 2 to 26160 
    If (Cells(i, 3) >= 99) Then 

     Cells(i, 3).Select 
     Selection.copy 
     Cells(i, 4).Select 'error 
     Selection.Paste 'error  
    end if  
next i 

하지만 내 코드는 4 번과 5 번 라인에서 오류가 발생하지 않습니까?

+0

당신은 ** ** 행을 말하지만, 당신은 단지 다음 열로 복사? – glh

+0

정답을 표시하여 질문을 친절하게 '닫습니다'. 이것은 사람들이 다른 사람들을 도울 때 좋아하는 것입니다. 그것은 올바른 해결책을 식별하는 데 동일한 문제가있는 ppl을 도울 것입니다. – Santosh

답변

1

선을 결합 할 수 있습니다. 아래 코드를 시도하십시오. 코드에서 select를 사용하지 마십시오. Why?

'at beginning of proc 
With Excel.Application 
    .ScreenUpdating = False 
    .Calculation = Excel.xlCalculationManual 
    .EnableEvents = False 
End With 

''' 
'your code 

' updated as per comment 
j = 1 
For i = 2 To 26160 
    If (Sheets("sheet2").Cells(i, 3) >= 99) Then 
     Sheets("sheet2").Cells(i, 3).Copy Sheets("sheet3").Cells(j, 4) 
     j = j + 1 
    End If 
Next i 

'at end of proc 
With Excel.Application 
    .ScreenUpdating = True 
    .Calculation = Excel.xlAutomatic 
    .EnableEvents = True 
End With 
+0

이 코드는 작동하지만 1 분에서 2 분 정도 걸리며 실행합니다. 내게는 빠른 작업 코드 –

+0

@gurpreetkaur로 코드를 업데이트했습니다. 코드 속도를 높이십시오. – Santosh

+0

좋아요, 많이 고맙습니다 –

0

은 왜 직접 복사를 사용하여 아래의 방법을 통해 클립 보드를 피할?

set NewSheet = Sheets("Sheet1") 'New sheet name 
j = 1 'start pasting in this row on new sheet 
for i= 2 to 26160 
    If ActiveSheet.Cells(i, 3) >= 99 Then 
     NewSheet.Cells(j, 4) = ActiveSheet.Cells(i, 3) 
     j = j + 1 
    end if 
next i 
+0

누군가 나에게 partiular 열의 특정 이름을 일치시키는 데 사용해야한다고 제안 할 수있다. dat column1에서 특정 이름을 확인해야합니다. 예. rahul이 column1에 있는지 여부 ... 조회, vlookup 또는 hlookup을 사용해야합니까? –

0

이 간단하고 FAST 수 sould :이 올바른지,

Sub test() 
    Dim c As Range 
    Debug.Print Timer, 
    For Each c In Range("C2:C26160") 
     If c.Value >= 99 Then 
      'copy to next cell 
      c.Copy c.Offset(0, 1) 
      'or copy to next col in other sheet 
      c.Copy Sheet3.Range(c.Offset(0, 1).Address) 
     End If 
    Next c 
    Debug.Print Timer 

End Sub 
+0

어이 누군가 나 partiular 열에있는 특정 이름을 일치하는 데 사용해야합니다 제안 할 수 있습니다 .. 나는 열 1에 10 이름을 havlike. dat column1에서 특정 이름을 확인해야합니다. 예. rahul이 column1에 있는지 여부 ... 조회, vlookup 또는 hlookup을 사용해야합니까? –

+0

1) 새로운 질문으로 문의하는 것이 더 좋습니다 2)이 질문을 인 경우 대답으로 표시하십시오. 3) vlookup 또는 hlookup 또는 INDEX() 또는 COUNTIF()를 사용할 수 있습니다. –