2017-02-11 6 views
1

Ich versuche, eine Funktion PS zu erstellen, wo es Wert von Zelle und Pasten speziell in der Zelle, wo die PS-Funktion verwendet wird. Der obige Code gibt nicht den gewünschten Wert.Benutzerdefiniert Einfügen Spezialfunktion

+0

Das Problem ist, dass Sie versuchen, zu bearbeiten/Ändern Sie den Inhalt von Zellen mit einer Arbeitsblattfunktion. Das solltest du nicht tun. [Während einige begabte Benutzer einen Weg gefunden haben, diese Einschränkung zu umgehen] (http://stackoverflow.com/questions/12501759/vba-update-other-cells-viauser-define-function) rate ich dringend davon ab und eher Ich möchte Sie bitten, uns mitzuteilen, was Sie wirklich erreichen wollen, damit wir Ihnen helfen können, eine bessere Lösung zu finden. – Ralph

+0

Ich versuche, eine benutzerdefinierte Funktion zu erstellen, wo es Wert aus der Zelle und Pasten besondere den Wert in der Zelle, in der die benutzerdefinierte Funktion verwendet wird. – vaasusk

Antwort

0

Das erste, was Sie brauchen, ist eine Funktion, die den Wert des ausgewählten Bereichs erhält. Legen Sie diese in einem neues Modul:

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

Zum Beispiel: Platzieren =Hardcode(A1) in Zelle B1 den Wert der Zelle zurück A1. Aber von meinem Verständnis her wollen Sie auch den neuen Wert B1 fest codieren. Dazu müssen Sie eine separate Sub

Platz diesen Code in das Arbeitsblatt Modul zu dem Arbeitsblatt entsprechenden Sie die obige Funktion auf verwenden möchten:

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