2017-02-11 5 views
1
Function PS(X As Range) As Double 
    Range(X).Select 
    Selection.Copy 
    Range(X).Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
    Application.CutCopyMode = False 
End Function 

PS 기능이 사용되는 셀에서 특수 셀과 붙여 넣기에서 값을 가져 오는 기능 PS를 만들려고합니다. 위의 코드는 원하는 값을 제공하지 않습니다.사용자 정의 붙여 넣기 특수 기능

+0

문제를 편집하려고하는 것입니다/워크 시트 기능으로 셀 내용을 변경하십시오. 그것은 당신이해야 할 일이 아닙니다. [일부 영재 사용자가이 제한을 우회하는 방법을 찾은 동안] (http://stackoverflow.com/questions/12501759/vba-update-other-cell-via-user-defined-function) 나는 그것을 반대하고 오히려 조언한다. 우리가 더 나은 해결책을 찾도록 도와 줄 수 있도록 당신이 정말로 이루고자 노력하고있는 것을 우리에게 알려줄 것을 요청하십시오. – Ralph

+0

셀에서 값을 가져오고 사용자 정의 함수가 사용되는 셀의 값을 붙여 넣는 사용자 정의 함수를 만들려고합니다. – vaasusk

답변

0

가장 먼저 필요한 것은 선택한 범위의 값을 가져 오는 기능입니다. 새로운 모듈이 배치 :

Function Hardcode(r As Range) 
    Hardcode = r.Value 
End Function 

를 예를 들어 셀 A1의 값을 반환 B1 셀에 배치 =Hardcode(A1). 그러나, 나의 이해에서 당신은 또한 B1의 새로운 값을 하드 코딩하려고합니다. 이렇게하려면 별도의 Sub

장소 당신이에 위의 기능을 사용하려면 워크 시트에 해당하는 워크 시트 모듈이 코드가 필요합니다

Private Sub Worksheet_Change(ByVal Target As Range) 
    If InStr(LCase(Target.Formula), "hardcode") Then 
     Target.Value = Target.Value 
    End If 
End Sub