2013-02-22 2 views
0

안녕하세요 모두가 잘 희망 엑셀 : 범위 H3의 셀 그렇게 할 때 어떻게 루프를 선택 다음 셀 을에 알아내는 데 문제가 : Z3가 비어가 중지 것입니다 :)루프 다음 ​​셀을 선택 매크로

그리고 h3에서 값을 선택하면 b3에서 붙여 넣기가 e3에 주문 번호를 부여하는 다른 매크로를 실행 한 다음 h4에 복사하여 붙여 넣으면 I3 붙여 넣기의 다음 셀로 이동합니다. E3 및 I4에 붙여 넣기 할 같은

감사

For Each cell In Range("H3:Z3") 

If IsEmpty(cell.Value) Then Exit For 
'select ammount and place in lookup 
Range("H3").Select 
Selection.Copy 
Range("B3").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 

' fill in order numbers 
bulkON_Click 

'select order and past under postcode 
Range("E3").Select 
Application.CutCopyMode = False 
Application.CutCopyMode = False 
Selection.Copy 
Range("H4").Select 
ActiveSheet.Paste 

Loop 
,536,
+2

당신의 질문은 무엇입니까? – Joe

답변

2

아마도이 코드에서 많이 바뀔 것입니다. 이렇게하면 시작할 수 있습니다. 우선 들어

For 루프는 대상 셀에 직접 쓰기 값에 찬성 (들에서. 또한, 당신은 모든 비용에 복사/붙여 넣기를 피해야한다 Do 블록에 사용되는 Next 문이 아닌 Loop을 (필요)

나는 가정이 세포 "B3"과 "E3는"일정, 당신은 H3 세포 반복됩니다. Z3와 H4에 해당하는 셀에 넣어 몇 가지 값 계산 :. Z4를

For Each Cell In Range("H3:Z3") 

    If Cell.Value = vbNullString Then Exit For 
    'select ammount and place in lookup 
    Range("B3").Value = Cell.Value '<< no need to "copy & paste", just write the value directly 
    ' fill in order numbers 
    bulkON_Click 

    'insert the value under postcode 
    ' this OFFSET refers to the cell 1 row below the "Cell" 
    Cell.Offset(1, 0).Value = Range("E3").Value 

Next 
+0

awowome awesome –

+0

sooo 고맙습니다. 오, 내 코드에 복사 붙여 넣기가 많이있다.이 부분은 단지 아프다. 모든 것을 고쳐야한다. –

+0

데이터를 가져 오는 방법에 대해 혼란스럽고 중복을 제거한 다음 전치를 넣는다. http : //stackoverflow.com/questions/15018896/optimizing-vba-code-grouping-postcodes-and-returning-amount –

관련 문제