簡體   English   中英

需要使用VBA函數指導以在Excel中粘貼值

[英]Need guidance with a VBA function to paste values in Excel

我是VBA的新手,但已成功創建了一些有用的Excel功能。 我現在正在努力的那個,看起來應該很簡單,就是在逃避我。 我想我誤解了語法,需要一些指導。

考慮以下屏幕截圖; 我試圖在E列中創建函數,它只是來自D $ n的VALUE。 在此輸入圖像描述

到目前為止,這是我已經得到的:

Function PASTVALUE(q As String)
q.PasteSpecial Paste:=xlPasteValues
End Function

如果我理解的話,它正在讀取輸入值(在我的例子中,單元格D$n的內容)作為String,然后使用PasteValues粘貼它。

在粘貼之前,我是否需要以某種方式復制它? 我認為q As String參數是將它帶入函數的原因。

不過,如果我沒有抄襲,被它試圖paste從空剪貼板......在這種情況下,我知道我應該使用做到這一點。

救命!

您可以像這樣“轉移”'(顯示)值

Function PASTEVALUE(rng As Range)
    PASTEVALUE = rng.Text
End Function

或使用Evaluate()函數來評估該范圍內的公式

 Function PASTEVALUE(rng As Range)
        PASTEVALUE = [rng]
    End Function

Excel的對象模型有一些在計算過程中無法訪問的功能; 即在評估功能期間。 從廣義上講,他們是以某種方式操縱細胞價值的人。 如果反過來是真的,那么Excel中的計算過程就會中斷。

因此,將剪貼板數據粘貼到工作表中會屬於禁用類別。

一種解決方案是將代碼放在宏中; 可以通過工作表上的按鈕訪問。 這超出了計算周期,因此是允許的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM