2016-02-02 46 views
0

我想在返回值後刪除函數調用。使用vba去掉函數調用

例如:

function testFunc(x as integer) 
testfunc = x 
end function 

調用此函數,我想在函數被調用,以等於x和未= testFunc(x)的單元格的值之後。這可能還是放在函數的極限限制這種類型的行動

+0

這隨後被用作一個公式,就像一個公式您可以隨時複製,只粘貼複製和粘貼簡單的價值值之後穆拉返回一個值。 –

+0

但只是要明確這不能在函數本身完成。 –

+0

我知道複製和粘貼值的選項,但我正在尋找一個解決方案是在該函數內處理的。我試圖儘可能簡單地使用該功能。感謝您的輸入,雖然 –

回答

0

的試試這個簡短的宏:

End Function 
Sub FunctionReplacer() 
    Dim r As Range 

    For Each r In ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeFormulas) 
     If InStr(1, LCase(r.Formula), "testfunc") > 0 Then 
     r.Value = r.Value 
     End If 
    Next r 
End Sub 
+0

雖然這效果不錯,它不適合我所有的需要。這絕不是你的錯,因爲我不是很清楚。我一直在尋找能夠在該功能範圍內工作的東西,這樣就不需要額外的步驟。 –

0

我能創建使用一種變通方法解決方案(不是很漂亮或優雅的一個)我對a different question

我使用的代碼中發現的鏈接提供給讓自己使用PasteSpecial的