2017-12-26 25 views
0

나는 sheet1에 ActiveX 단추가 있지만 내 목표 찾기 시트 2에 있습니다. 그것을 실행할 때 sheet2의 열 N에있는 셀은 변경되지 않습니다. 누구든지 나를 위해 코드를 고칠 수 있습니까? 당신은, 그들이 (당신의 단추가있는 시트가 될 것이다), 그리고 ActiveSheet를 참조 기본값하는 그들이 언급하는 워크 시트로 Cells 속성을 자격 적이 있기 때문에다른 시트에 명령을 연결하는 vba를 엑셀

Private Sub CommandButton1_Click() 

With Worksheets("sheet2") 
For J = 23 To 26 
     Cells(J, "o").GoalSeek Goal:=0, ChangingCell:=Cells(J, "n") 
Next J 

End With 

End Sub 
+1

가 작동하지 않는 어떤 방식으로 설명 : 당신의 With 목적은 Cells 각 속성의 규정 자입니다. – Alan

+0

@Alan - 코드가 sheet1에 대한 목표 검색을 수행하고 있지만 (버튼이 눌려져있을 때 'ActiveSheet'이기 때문에) 목표 질문 수식이 sheet2에 있음을 나타내는 질문은 "작동하지 않습니다" 이 경우에는 "목표 추구가 수행되지 않고 있음"을 나타냅니다. – YowE3K

답변

2

그래서 현재 코드는 동일합니다

Private Sub CommandButton1_Click() 
    Dim J As Variant 
    For J = 23 To 26 
     ActiveSheet.Cells(J, "o").GoalSeek Goal:=0, ChangingCell:=ActiveSheet.Cells(J, "n") 
    Next J 
End Sub 

당신은 또한 당신의 코드에서 With Worksheets("sheet2") 블록을 포함,하지만 당신은 그것을 활용하지 않았다.


문제를 해결하는 가장 쉬운 방법은 이미 코드에 이미 With Worksheets("sheet2") 블록을 가지고 있기 때문에 당신이 단지 지정하기 위해 .을 추가하는 의미, 언급되고있는 워크 시트 자격을 보장하는 것입니다

Private Sub CommandButton1_Click() 

With Worksheets("sheet2") 
For J = 23 To 26 
     .Cells(J, "o").GoalSeek Goal:=0, ChangingCell:=.Cells(J, "n") 
Next J 

End With 

End Sub 
+0

제안 해 주셔서 감사합니다, YowE3K. 추가 후. 오류 메시지는 더 이상 표시되지 않지만 goalseek은 여전히 ​​sheet2에서 수행되지 않습니다. 왜 그런가? – peterjohn

+0

@peterjohn (a) 어떤 오류 메시지가 나타 났습니까? 나는 단순히 오류가 없다는 가정하에 질문을 다시 열어 투표하는 것으로 생각했다. "그저 효과가 없다"는 것을 설명하기 위해 스스로 질문을 편집하는 편이 낫습니다. (b) 편집 된 코드는 나를 위해 일했으나 Sheet2! N23 (등)을 기반으로하는 Sheet2! O23 (등)을 계산하는 sheet2에있는 수식에 따라 다릅니다. – YowE3K