2017-12-20 5 views
0

지금까지 내가 계산 통계 매크로를 클릭하면 그러나 그것은비주얼 베이직 (400) 오류가 I는</p> <blockquote> <p>400 오류</p> </blockquote> <p>을 얻고있다

400 오류를 제공

내가 수동으로 행 중 하나에 날짜를 넣지 않으면 실행되지 않습니다. 날짜를 입력하지 않고 실행하면 자동으로 날짜가 계산됩니다. 미안 해요, 프로그래밍에 익숙하지 않고이 말이 더 합리적인 이유가 무엇인지 알 수 없습니다. 이건 내 추측은 당신이 뭘하려는 건지에있다

Sub CalculateStats_Click() 

    Dim i As Integer 
    Dim x As Integer 

    'start row specified below as i 
    i = 12 
    'stop row specified as x 
    x = 94 

    Dim startloc As String 
    Dim stoploc As String 
    Dim reportcol As Integer 


    Range("A11").End(xlToLeft).Select 
    ActiveCell.Offset(0, 1).Select 
    ActiveCell = Date 
    reportcol = ActiveCell.Column 

    Do While i < x 
     startloc = "H" & i 
     stoploc = "I" & i 
     Cells(i, reportcol).Value = WorksheetFunction.Sum(Worksheets("Analysts").Range(Worksheets("Analysts").Range(startloc), Worksheets("Analysts").Range(stoploc))) 
     i = i + 1 
    Loop 

End Sub 
+2

'범위 ("A11"). 끝 (xlToLeft)'ColA에서 왼쪽으로 가고 싶습니까? 어떤 줄이 오류를 나타내며 코드를 호출하는 단추가있는 시트의 이름은 무엇입니까? –

+0

글쎄 그것은 옳았지 만 컴파일러에서 F8을했을 때 더 잘 작동했습니다. 오류는 ActiveCell.Offset (0, 1) .Select에서 왔지만 -1에서 1로 변경하고 컴파일러에서 더 잘 작동했습니다. 분석가가 그 이름입니다. – Spixol

+0

범위 선택 (Range ("A11"). End (xlToLeft) .Select'을 사용하여 아무 것도하지 않고 다른 선택을하십시오. 'ActiveCell.Offset (0, 1) .Select'? 또는 그렇게하십시오. 나에게 나타난다. – Mitch

답변

1

:

Sub CalculateStats_Click() 

    Const RW_START As Long = 12 
    Const RW_END As Long = 93 
    Const COL_SUM_START As Long = 8 'H 

    Dim i As Long, sht As Worksheet, c As Range 

    Set sht = Worksheets("Analysts") 

    'find the first empty header cell and populate the date 
    Set c = sht.Cells(RW_START - 1, sht.Columns.Count).End(xlToLeft).Offset(0, 1) 
    c.Value = Date 

    For i = RW_START To RW_END 
     sht.Cells(i, c.Column).Value = _ 
      Application.Sum(sht.Cells(i, COL_SUM_START).Resize(1, 2)) 
    Next 

End Sub 
+0

감사합니다 Tim, 매크로를 실행하려고 할 때 여전히 400 오류가 발생합니다. 데이트를 처음 시작하면 효과가 있지만 그건 내가 피 하려던 일이다. – Spixol

+0

** ** 어디서 오류가 발생합니까? 중지 할 때 강조 표시되는 행은 무엇입니까? –

0

나는이 밖으로 일한 아래 코드를 참조하십시오. 이 문제에 대한 귀하의 도움에 감사드립니다. 그러나 매크로가 올바른 모듈에 할당되지 않았기 때문입니다.

어떻게이 티켓을 닫을 수 있습니까?