2014-04-25 4 views
0

나는 공식이 일을 시도했지만 불행하게도 그것은 셀 값이 dymanically동적으로 변경 셀 값은

내가 Excel을 배우면서 신속하게이 작업을 수행하기 위해 노력하고있어 변화하는 루프에 따라 달라집니다 VB하지만 오프셋과 세포 지정이 저를 물리 치고있다 - 사람 관리는 D

if Dn = "999" then 
if C(n-1) = Cn then 
Modify Dn = D(n-1) + 1 else 
Modify Dn = 1 

의 끝에 D에 세포를 통해 나에게

루프 :-) 몇 가지 코드를 제공합니다 이것은 내가 위의 논리를 번역하는 방법입니다개

예를 들어 세포

C  D 
1852304 4 
1852304 5 
1852319 1 
1852319 999 
1852321 1 
1852326 1 
1852351 1 
1852351 999 
1852351 999 
1852351 999 
1852352 1 
1852353 1 
1852355 1 
1852355 2 
1852355 3 
+1

우리는 DN, C, Cn이 – Sorceri

답변

1

:

Sub sample() 
'~~> Declare Variables recommended 
Dim rng As Range, cel As Range 
'~~> this gets hold of the Range Object you want to work in 
Set rng = Range("D1", Range("D" & _ 
    Rows.Count).End(xlUp).Address) 
'~~> loop through each cell in range 
For Each cel In rng 
    '~~> check the value of current cell in range 
    If cel.Value = 999 Then 
     '~~> use .Offset to check the 
     '~~> adjacent cell in C column and compare 
     If cel.Offset(-1, -1).Value = cel.Offset(0, -1).Value Then 
      '~~> Modify Dn 
      cel.Value = cel.Offset(-1, 0).Value + 1 
     Else 
      cel.Value = 1 
     End If 
    End If 
Next 
End Sub 

결과 : 당신이 당신의 예에서와 같이이 데이터가 있다고 가정.

sample

매크로가 될 것입니다 실행 한 후 :

result

이 당신이하려는 무엇인가?

+0

인 것을 모르기 때문에 현재 코드를 더 게시해야합니다. 바로 제가 원했던 것입니다. 감사합니다! 간단하고 강력합니다. –