2016-08-26 7 views
0

Der folgende Code sollte das richtige Bild von dem schaffen, was ich versuche, nämlich einen Code in eine Variable einzufügen, die später verwendet werden kann.Code in eine Variable einfügen?

AUCH:

S1 ein String ist, ist festverzinslichen ein String

S1 = ThisWorkbook.Sheets("Sheet1") 
    fixedInterest = S1.Range("A1").Value 
+0

Warum würden Sie nicht nur 'Dim S1 Als Worksheet' und' Set S1 = ThisWorkbook.Sheets ("Sheet1") '? – Comintern

+0

'fixedInterest = ThisWorkbook.Sheets (" Sheet1 "). Bereich (" A1 "). Wert' – Slai

+0

@Comintern ist das nicht genau das, was ich getan habe? –

Antwort

1

Wenn mich nicht alles täuscht Sie die Kodierzeilen selbst (nicht der Wert) in einer Variablen speichern möchten, so dass Sie don Sie müssen es nicht jedes Mal verwenden, wenn Sie diesen Wert benötigen.

Der gangbarste Weg, dies zu erreichen, wäre die Erstellung einer Funktion.

Arbeiten mit Variablen:

Function S1() as String 

    S1 = ThisWorkbook.Sheets(1).Range("A1").Value 

End Function 

In Ihrem Haupt-Code können Sie dann den Wert zuweisen diese Funktion auf eine Variable zurückgibt:

fixedInterest = S1() 

auch zu klären: Eine String-Variable gibt immer nur eine Zeichenfolgewert Sie können es nicht zurück in Code konvertieren. Es kann jedoch in Methoden verwendet werden, die aus einer Zeichenkette bestehen.

z.B .:

Dim strName as string 

strName = "MyWorkbook" 

Workbooks(strName).open 
'is the same as 
Workbooks("MyWorkbook").open 

__ Edit:

Dim S1 as worksheet 

Set S1 = ThisWorkbook.Sheets(1) 

S1.Range("A2").Value= "something" 
+0

Nein nein nein, das ist nicht das was ich will, ich weiß alles was du gerade erklärt hast, ich möchte irgendwie S1.Range (" A1 ") Wert –

+0

Clarify S1 als Arbeitsblatt-Objekt . Editierte meine Antwort. – Chrowno

+0

Sie sind eine Legende Chrowno –