Ich habe versucht, ein Makro zu schreiben, das ein Textfeld auf einem neuen Blatt dynamisch füllt den Wert einer Zelle aus einem anderen Blatt.Kopieren Zelle Wert in Textfeld VBA
Ich habe es geschafft, um es arbeiten mit diesem:
Sub copyDetail()
' Define variables
Dim pre As Worksheet
Dim des As Worksheet
Set pre = Sheets("Presentation")
Set des = Sheets("Description")
Dim i As Integer
Dim lbl As String
' Scroll through labels and copy where boolean = 1
For i = 2 To 17
If des.Cells(i, 2) = 1 Then
lbl = des.Cells(i, 11)
Sheets("Presentation").Select
ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
Selection.Text = lbl
Else
End If
Next i
End Sub
ich grundsätzlich in der Lage sein wollen, genau das zu tun, was dies tut, aber ohne die ganze Zeit wählen zu verwenden, da diese Blätter ändert und verlangsamt meinen Code (Ich habe viele andere Subs neben diesem). Ich habe Dinge versucht, wie die Textbox definiert, mit diesem:
Dim myLabel As Object
Set myLabel = pre.Shapes.Range(Array("TextBox 1"))
Aber dann bekomme ich eine Fehlermeldung „Objekt diese Eigenschaft oder diese Methode nicht unterstützt“, wenn ich versuche, und rufen:
myLabel.Text = lbl