2013-07-15 3 views
1

저는 시트의 첫 번째 열의 입력을 사용하여 39 번째 셀에 yahoo 함수의 값만 인쇄하려고합니다. 이 함수는 단일 문자열을 반환합니다. Evaluate, .Value 및 .Formula는 나를 위해 운동하지 않습니다. 여러 개의 오류 및 구문 오류가 발생합니다. 모든 입력은 매우 감사하겠습니다! 나는 VBA에서 초보자입니다.VBA - 값을 주어진 셀에 어떻게 인쇄하나요?

Sub Button2_Click() 
    Dim LastRow As Long 

    If Range("A5") <> vbNullString And Range("A6") <> vbNullString Then 
     LastRow = Range("A5").End(xlDown).Row 
    End If 

    With Range("AN5:AN" & LastRow) 
     Dim texttmp As String: textmp = Evaluate("yahoo(RC[-39])") 


     '.FormulaR1C1 = "=yahoo(RC[-39])" 
     '.FormulaR1C1 = "yahoo(MID(RC[-39],1,LEN(RC[-39]))" 
     '.Value2 = "=yahoo(RC[-39])" 
     '.Value = "yahoo" 
     '.Value2 = Evaluate("yahoo(RC[-39])") 

    End With 
End Sub 
+0

어떻게 'yahoo' 함수를 정의합니까? – xxbbcc

+0

'함수 yahoo (문자열로 심볼을 문자열로)' – user2578013

+0

이 'yahoo'는 실제로 Excel 수식입니까? 제 말은 수동으로'yahoo'를 셀에 넣고 유효한 결과를 얻을 수 있습니까? 아니면 VBA 함수입니까 ?? –

답변

2

한 번에 전체 범위를 사용하고 수식을 채운 다음 계산 된 값으로 덮어 씁니다.

With Range("AN5:AN" & LastRow) 
    .FormulaR1C1= "=yahoo(RC[-39])" 
    .Value = .Value 
End With 
+0

굉장. 매력처럼 작동합니다. 감사! – user2578013

관련 문제