2013-11-24 4 views
1

"그림보기"라는 새로운 퍼즐을 발견했습니다. 지역 신문에. 나는 현재 웹상에서 아무것도 찾을 수 없지만 스도코와 비슷하지만 수학 요원과 비슷합니다. 사용할 수있는 목록이 제공되고 공백을 채워야합니다. 예 : 첫 번째 행 것이다 _/_ + _ = 10셀에서 수학 기호를 선택하고 vba 공식을 사용합니다.

I 셀 D4 (A) 내에있을/셀 F4 A를 +

내 VBA 코드는 상기 다음

Dim OPR11, OPR12, as String 

을 갖는다 아래로 나는이 경우

OPR11 = Cells(4, 4).Value 
OPR12 = Cells(4, 6).Value 

그래서이 OPR11 =/및 OPR12 = +

당신이 볼 수

For Each rng3 In vArray 
    For Each rng2 In vArray 
    For Each rng1 In vArray 
If rng1 & OPR11 & rng2 & OPR12 & rng3 = R1A Then 
    DO CODE 
end if 
    next rng1 
    next rng2 
next rng3 

으로 많은 fo를 내 If 기능이 작동하지 않는 경우 다음과 같이

다음 나는 루프 다음을 숫자 배열을 설정하고 수행. 분명히, 나는 수식으로 수화물 연산자를 CONC 수 없습니다 그것으로 서서 그것이 작동합니다.

제대로 작동하려면 어떻게해야합니까? 감사합니다.

+0

당신은 "+, -,!, ^"와 같은 일련의 숫자와 연산자 세트를 얻을 수 있다는 것을 의미합니까? –

답변

2

수식을 계산하려면 Evaluate()을 사용해야한다고 생각합니다.

예를 CTRL + G

와 직접 실행 창에

enter image description here

차례

하고 코드

Option Explicit 

Sub Main() 

    Dim c4 As Range 
    Dim d4 As Range 
    Dim e4 As Range 
    Dim f4 As Range 
    Dim g4 As Range 

    Set c4 = Cells(4, 3) 
    Set d4 = Cells(4, 4) 
    Set e4 = Cells(4, 5) 
    Set f4 = Cells(4, 6) 
    Set g4 = Cells(4, 7) 

    Dim answer As Double 
    answer = Evaluate("=" & c4 & d4 & e4 & f4 & g4) 

    Debug.Print "The formula evaluates to: " & Evaluate("=" & c4 & d4 & e4 & f4 & g4) 

    Cells(4, 9) = answer 

End Sub 

enter image description here

을 실행
+1

나는 그 명령에 대해서조차 몰랐다. 이제 당신이 지적 했으니, 나는 검색을했고 이것을 발견했습니다 : [link] (http://www.ozgrid.com/forum/showthread.php?t=52372). 이 페이지에는 "1. 문자열 연산 식을 값으로 변환합니다."라고되어 있습니다. 매우 유익하고 확실히 기억할 가치가있는 것. 감사 경우 –

+0

나는 다음과 같은 설명과 수정을 할 수있다 :'Evaluate ("= COUNTIF (Range (Cells (4, c21), Cells (735, c21)), Cells (r1, c11)") <1 Then "어떻게해야할까요?"그런데 c21, c11 및 r1은 코드에서 잘못 명명 된 변수입니다. –

+0

@BillFlippen youre correct. 'c21'은 (는) 올바른 숫자가 아닙니다. 'cells (x, y)'를 사용하면'x'와'y'가 숫자가되어야합니다 .' Range()'를 사용할 때 큰 따옴표로 묶인'C21'은 의미가 있습니다. –

관련 문제