2013-07-15 65 views
1

我試圖只輸入來自表單第一列的輸入到第39個單元格中的雅虎功能的值。該函數返回單個字符串。評估,.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

'函數雅虎(符號作爲字符串)作爲字符串' – user2578013

+0

這是'雅虎'真的是一個Excel的公式?我的意思是,你可以手動將'yahoo'放入單元格並獲得有效的結果嗎?或者它是一個VBA功能? –

回答

2

一次性使用整個範圍,用公式填充它,然後用計算出的值覆蓋它。

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

真棒。奇蹟般有效。謝謝! – user2578013

相關問題