když kód1 jedna funguje? Událost CommandButton1_Click() vždy
předchází události CommandButton2_Click().
Kód1, TextBox se jménem "MyTextBox" již existuje
CommandButton2_Click() funguje
Kód: Vybrat vše
Option Explicit
Dim MyObject As Object
Private Sub CommandButton1_Click()
Dim str As String
str = "MyTextBox"
Set MyObject = ActiveSheet.OLEObjects(str).Object
MyObject.Value = "Ahoj"
End Sub
Private Sub CommandButton2_Click()
MsgBox MyObject.Value
End Sub
Kód2, TextBox se jménem "MyTextBox" vytvářím
CommandButton2_Click() nefunguje
Kód: Vybrat vše
Option Explicit
Dim MyObject As Object
Private Sub CommandButton1_Click()
Dim str As String
str = "MyTextBox"
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=96, Top:=12, Width:=95.25, Height:=17.25 _
).Name = str
Set MyObject = ActiveSheet.OLEObjects(str).Object
MyObject.Value = "Ahoj"
End Sub
Private Sub CommandButton2_Click()
MsgBox MyObject.Value
End Sub
Jinými slovy, přestože v obou případech používám proměnnou MyObject
deklarovanou v sekci General a v obou případech ji nastavuji shodně
Set MyObject = ActiveSheet.OLEObjects(str).Object
Tak v kódu2 CommandButton2_Click() skončí hláškou
Object variable or With block variable not set
Moc dík za radu.
Pavel