1

シートの最初の列からの入力を使用して、yahoo 関数の値だけを 39 番目のセルに出力しようとしています。この関数は単一の文字列を返します。Evaluate、.Value、.Formula はうまくいきません。複数のエラーと構文エラーが発生します。どんな入力でも大歓迎です!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
4

1 に答える 1

2

範囲全体を一度に使用し、式を入力してから、計算された値で上書きします。

With Range("AN5:AN" & LastRow)
    .FormulaR1C1= "=yahoo(RC[-39])"
    .Value = .Value 
End With
于 2013-07-15T14:37:32.977 に答える