Stránka 1 z 1

Excel - VBA  Vyřešeno

Napsal: 29 pro 2006 19:59
od Pavel123
Dobrý den,
nevíte někdo jak vnutit excelu stringovou proměnou jako název objektu?
Něco jako tohle nefunguje

DIM strNazevObjektu As String
DIM obj As object

strNazevObjectu = Range("A1").Value

Set obj = strNazevObjectu

Nefunguje to ani s proměnou typu variant
Dík za radu
Pavel

Napsal: 29 pro 2006 21:11
od Ltb
Ahoj, ve VBA dělám spíše základní úkony, ale...tvůj kód mi připadá zvláštní. Přiřazuješ objektu hodnotu string. Myslím si, že by to mohlo jít přes vlastnosti objektu. Pokud lze změnit jméno objektu, půjde to přes vlastnosti (properties). Bohužel, víc toho o objektech ve VBA nevím.

Namísto Set obj = strNazevObjectu bych použil něco jako SetName(obj) = strNazevObjectu

Napsal: 30 pro 2006 01:09
od Pavetta
Záleží na tom, o jaký typ objektu jde. jestli je to fakt jen Object. U většiny objektů ve VBA přiřazuješ nějakým takovým způsobem obj.Name=string. Záleží na properties každého typu objektu.

Napsal: 30 pro 2006 05:32
od Pavel123
No, jde mi o to, že nechci objektu přiřadit hodnotu string ale objekt
jehož název je v promené string. Mám např. 10 textboxů a kód má
pracovat s textboxem jehož name je v bunce A1. Zatím to řeším

Select Case Range("A1").Value
Case "txbOkno1"
set obj = txbOkno1
Case "txbOkno2"
set obj = txbOkno2

ale je to dost nepohodlné

Napsal: 31 pro 2006 11:32
od Pavetta
Jo, mám to. U textboxu se to dá takhle:

Dim txb As Control
Set txb = UserForm1.Controls("jméno, nebo string z buňky")

Napsal: 31 pro 2006 13:30
od Pavetta
Ještě to upřesním

Dim txb As Control
Set txb = UserForm1.Controls("jméno, nebo string z buňky")

Ten userform1 je můj pracovní formulář, ty si tam zadej ten, co máš.

Dim txb As Control
Set txb = UserForm1.Controls(Range("A1"))

Bacha ale na velká a malá písmena. Fungovalo mě to jako case sensitive.

Napsal: 01 led 2007 15:25
od Pavel123
Díky za radu a nápad akorát mi to nefunguje jako Control
udělal jsem to takhle:
Dim txb As Object
Set txb = ActiveSheet.OLEObjects(Range("A1").Value).Object
Pavel