2013-08-23 6 views
0

저는 현재 여러 사람이 매일 작성한 워크 시트를 가지고 있습니다. 사용자가 기입하는 열은 C, E, H, & J (모든 숫자 값, 한 달에 한 행)Excel Mac VBA 반복 셀을 통해 일부 값을 재설정하십시오.

사용자는 C, E, & H를 매일 입력합니다. 하지만 J 일의 값을 사용자가 입력하지 않으면 0으로 설정해야합니다. 물론 사용자가 0을 입력하는 것이 더 쉬울 것이지만 여기서 복잡한 그룹의 사람들과 작업하고 있습니다.

어쨌든 실제로 저장하기 전에 사용자가 저장 버튼을 클릭 할 때 자동으로 실행되는 매크로를 사용하고 다음을 수행합니다. (나는 PHP에 익숙하므로, m 그냥 내가 알고 있어요 어떻게을 입력 - 내 구문이 올바르지 않습니다 확신) 사람이 나를 도울 수 있다면

Foreach Row 
    If "column A" != "" { 
    If "column J" != "" { 
    //Everything is good, continue on... 
    } else { 
    CurrentRow.ColumnJ.value == 0 
    }//Value has been set - continue loop 
    } 
    //column A is blank, this day hasn't come yet - quit looping here 
End Foreach 

내가 그것을 감사하겠습니다. 몇 가지 연구를 통해 지금까지 내가 쌓아 왔던 것이고 지금은 붙어 있습니다 ...

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
Dim curCell As Range 
'Labor Flow Sheet'.Select 

For Each curCell in Range(????) 
    If curCell.Value = "" Then 
    ??????? 
    End If 
Next curCell 
End Sub 

미리 감사드립니다!

+0

입력하지 않은 경우 어떻게 알 수 있습니까? 날짜 또는 현재 행을 나타내는 A 또는 B 열에 뭔가가 있습니까? BTW, 우리 모두는 복잡한 사람들과 협력하고 있습니다. :-) –

+0

LOL 다행입니다. 나는 혼자가 아닙니다. COL B는 MTD Sales dollars이고, COL A는 오늘의 MTD에서 어제의 판매 달러를 뺀 값으로 일일 판매액을 계산합니다. 사용자가 COL B에 아무 것도 입력하지 않은 경우 값 ""(없음)을 지정하는 열 A의 IF 문이 있습니다. 그렇지 않으면 일별 판매 계산이 수행됩니다. 나는이 칼럼들 중 어느 하나에서 벗어날 수 있었다. 난 그냥 셀 값이 NULL 또는 비어 있는지 확인하거나 ""에 대한 적절한 단어를 Excel에서 세계에 있는지 확인해야합니다. –

답변

1

오른쪽 범위를 찾는 것에 대해이 link를 참조하고, If 문 내부의 물음표에 관해서는, 당신은 당신의 문에 물음표를 들어

curCell.Value = 0 
0

을 데려 가고 싶다는 것

For Each curCell in Range(????) 

해결책 1 :
작업하는 전체 범위를 찾으려면 매일 채워지는 열을 사용해야합니다. 당신은 C, E, H 열이 매일 채워 졌다고 언급했습니다. 이 열 중 하나를 사용하여 (예를 들어 여기에서 C를 선택하십시오.) .end 메서드를 사용하여 범위를 찾을 수 있습니다. 이것은 데이터를 찾을 수 없을 때까지 범위에서 왼쪽 또는 오른쪽으로 아래로 이동합니다. 그래서,

Range("J1", Range("C1").End(xlDown)).Select 

는 J1 (또는 시트의 마지막 무엇이든 열) 열 C의 가장 아래 셀에 포함 된 데이터, 자동으로까지 모든 셀을 선택합니다.

해결책 2 :
수동으로 범위에 넣습니다. 예를 들어 A1 ~ J300을 선택하려면 다음을 입력하십시오.

Range("A1", "J300").Select 
+0

사랑해! 자동으로 적절한 범위를 선택해 주셔서 감사합니다. 필요한 경우 C 열의 값을 확인하고 J 열의 값을 0으로 입력하는 방법에 대한 모든 입력? –

+0

마음에 드시면 투표하세요! 처음 게시 한 코드는 약간의 수정을 가하면 잘 작동 할 것입니다. 나중에 게시하려고합니다. –

+0

나는 투표를 시도했지만, 분명히 나는 ​​너무 새로웠다.나는 충분한 점수를 얻 자마자 그것을 할 것입니다. 루핑과 if 문에 대한 내 문제는 구문입니다. 개념을 보았습니다. 네가 약간의 시간이 있다면, 나는 그것을 고맙게 생각한다! –