2013-03-13 1 views
0

오프셋 수식을 사용하는 X 개의 수식을 만드는 매크로를 만들려고합니다. X는 sheet1에있는 데이터 계열 (열)의 수를 나타냅니다. 이것이 내가 그들 중 하나가 만들어지기를 바라는 방법입니다.셀 참조가 필요한 수식 안에 변수 배치

formula = offset($b$2,$a$2,0,$a$3,1) 
activeworkbook.names.add Name:="test", Refers to:=formula 

하지만 값이있는 열 개수가 될 때까지 do 루프를 사용할 것입니다. 그래서이 나의 최선이고, 나는 그것을 실행 할 수 없기 때문에 오류가 많이있다 확신 :

columns = activesheet.countif((1:1),"*" 
i = 5 
do until i = columns 

'This is where i want to define my static cells location (not value) to be referenced in the formula 
    pan = cells(1,2) 
    zoom = cells(1,3) 

'This is where i want to define my dynamic cells location (not value) based on the current column 
    series = cells(2,i) 

'This is where i want to create a name formulas specific to each series 
    formula = "=offset(" & series & "," & pan & ",0" & zoom & ",1) 
    activeworkbook.names.add name:=cells(1,i), refersto:=formula 

그래서 내 결과, 나는 새 이름 공식하지만 참조를 기본적으로 얻을 수있다 수식은 실제 셀 주소가 아닌 정수로 채워집니다. 이는 셀 주소를 붙여 넣는 대신 셀의 값을 호출하는 수식을 사용하기 때문입니다.

도움이 될 것입니다.

+1

CELLS.ADDRESS를 사용해 보셨습니까? –

+0

셀 (2, i)에 무엇이 있는지 몇 가지 생각해 주시겠습니까? 그냥 모든 샘플을 ... –

답변

0

좋아, 내가 뭘 잘못하고 있는지 알았어. 내가 매크로를 기록 할 때, 나는 이제 단순히 그 같은

columns = activesheet.countif((1:1),"*" 
i = 5 
do until i = columns 

pan = "R1C2" 
zoom = "R1C3" 

series = "R2C" & i 

formula = "=offset(" & series & "," & pan & ",0" & zoom & ",1) 
activeworkbook.names.add name:=cells(1,i), refersto:=formula 

또는 뭔가 베다 할 수

ActiveWorkbook.Names.Add Name:="Height___zoom", RefersToR1C1:="=Data!R5C1" 

를 넣어 몰랐어요. 아직도 올바르게 실행되도록 몇 가지 문제를 해결해야하지만 공식에서 R # C#을 사용하여 셀의 위치를 ​​참조하는 것으로 나타났습니다.