2013-07-10 3 views
0

각 클릭으로 셀 값을 다른 시트의 다음 셀 값으로 업데이트 한 다음 값을 인쇄하고 싶습니다.각 버튼마다 증가 행

Sub SerPrint() 

i = 1 

'when button click it change to `c3 c4 c5 and C...... 
' until the end of table 
Sheet1.Range("n7").Value = Sheet2.Range("C"2 + i) 
'like Value in cell N7 from sheet1 have value from c2 Sheet2 then 
' after i click it change to c3,c4,c5,c.... 

Sheet1.PrintOut Copies:=1, Collate:=True, _ 
     IgnorePrintAreas:=False 
' then print out 

End Sub 
+1

다른 셀 (이 정보의 이름 시트) –

+0

과 같은 값으로 변경하려는 셀 범위 1 - 셀 1의 셀 N7의 값은 시트 2에서 가져온 값을가집니다. 그런 다음 클릭 한 후 c3, c4로 변경합니다. , c5, c .... – eathapeking

답변

2

당신은 행의 당신이 당신의 서브를 실행할 때마다 오프셋 제어하는 ​​공용 변수를 추가해야합니다.

프로젝트

Public iOffset as Long 

의 모든 모듈의 상단에이 줄을 추가하고 하위의 뜻은 다음과 같다 :

스타일에서
Sub SerPrint() 

'let's start with value of C2 from Sheet2 
Sheet1.Range("n7").Value = Sheet2.Range("C2").Offset(iOffset, 0) 

Sheet1.PrintOut Copies:=1, Collate:=True, _ 
     IgnorePrintAreas:=False 
' then print out 

'here we increment our public variable for next click to make C3, C4... 
iOffset = iOffset + 1 


End Sub 
+1

알아낼 수있는 정보가 너무 적기 때문에 위의 코드에서 테이블 끝 제어가 없습니다. –

+0

iOffset 무엇을 설명 할 수 있겠습니까? – eathapeking

+0

은 루프처럼 비슷합니다. – eathapeking

1

..

Sheet1.Range("n7").Value = Sheet2.Range("C" & format(2 + i)) 

오프셋을 사용하려는 경우

Sheet1.Range("n7").Value = Sheet2.Range("C2").Offset(i,0)