2016-11-16 19 views
0

다음 코드를 활성 셀에 상대적으로 셀 값을 설정하는 큰 서브 루틴의 일부로 작성했습니다. 특정 셀렉션 활성 셀 내에서 만들어졌습니다. 이 작동하는 동안셀의 값 설정, 범위 이름이 지정된 단일 열 내에서 활성 셀에 상대적

ActiveCell.Offset(0, 5).Value = "CLV 7" 

, 내 워크 시트에 열을 추가하기 위해 미래에 있어야 할 수 있으며,이 때문에 설정하는 값을 필요로하는 셀의 위치의 변화에, 문제를 제시하고, 협회 새로운 열이 추가 될 때마다 코드를 다시 작성해야합니다.

이 변수를 고려할 때 필자는 조사한 결과 값을 값으로 설정해야하는 각 열에 대해 범위 이름을 정의했습니다. 그때 나는 활성 행과 명명 된 범위 열 사이의 변수 & 재배치 가능한 교차점을 결정할 수 있고 값을 설정해야하는 셀로 정의 할 수있을 것이라고 생각했습니다.

이 후 나는이 변수 교차로를 정의 할 수있는 방법을 연구하고 다음과 같은 대체 코드를 설정하려고 시도 : 그것은 트릭을 할 것이라는 희망

ActiveCell.Offset(0, 0).Range("BusinessStudies").Value = CLV 7 

을,하지만 불행히도 그렇지 않습니다. 나는 다른 게시물을 보았으므로 비슷한 요청을 볼 수 없어서 어떤 게시물을 어떻게 조정할 수 있는지 알 수 없습니다. 누구든지 제공 할 수있는 도움을 주시면 감사하겠습니다. 미리 감사드립니다!

답변

0

은 VBA에서

Debug.Print Intersect(Rows(ActiveCell.Row), Range("MyRange")).Value 

편집을 교차() 함수를보십시오 : 귀하의 상황에 적용, 셀에 가서 당신이 문자열을 원하는 "CLV 7"가정 :

Intersect(Rows(ActiveCell.Row), Range("BusinessStudies")).Value = "CLV 7" 
+0

감사합니다 @ teylyn. 나는 이것이 "MyRange"의 정의를 필요로한다고 생각 하는가? 나는 이것이 서브 루틴의 초기에 약간의 코드를 필요로한다는 것을 알았다고 생각하지만, 그것에 대해 확신하지는 않는다. 내가 그 부분을 완성 할 수 있도록 올바른 방향으로 나를 가리켜 주시겠습니까? – ManbyRiver

+0

'MyRange'가 이미 정의 된 범위 이름으로 바뀌 었습니까? 또한이 코드를 사용하여 현재 코드를 대체하고 '= "CLV 7"을 끝에 추가합니까? 그래서 새로운 코드는 다음과 같이 보일 것입니다 : Debug.Print 교차 (행 (Active Business Space), 범위 ("BusinessStudies")) 값 = "CLV7" 편집 : 나는 지금 이것을 시도했지만 그렇지 않습니다. 작업. 다른 조정이나 대안을 제안 해 주시겠습니까? – ManbyRiver

+0

예. 상황에 쉽게 적용 할 수 있습니다. 'Intersect (행 (ActiveCell.Row), 범위 ("BusinessStudies")). 값 = "무엇이든지". "무엇이든지"를 셀에서 원하는 것으로 바꾸어야합니다. 내 게시물을 편집했습니다. – teylyn