Avatar billede mgd Nybegynder
25. juli 2008 - 10:14 Der er 2 kommentarer

Hvordan får man en variabel streng til at pege på et objekt?

Jeg har et excel ark, med mange listbox's på. Når der opdateres i forskellige felter, skal en af listbox'en opdateres afhængigt af, hvilket felt der blev opdateret. Listbox'ene hedder Listbox[n], hvor jeg kender n og derfor kan generere navnet på præcis den listbox, jeg gerne vil opdatere.

Problemet er at når jeg opbygger min variabel LstBxName ="Listbox" & CStr(n), opfatter Excel (/VB) dette som en tekststreng. Jeg vil meget gerne kunne konvertere dette til selve objektet.

Er der nogen der kan hjælpe mig med det?
PFT
Avatar billede sorenstrom Nybegynder
25. juli 2008 - 11:44 #1
Når jeg i Visual Basic, skal gøre noget lignende, kan jeg f.eks.:

Dim varName As String

varName = me.listbox(n)

Jeg mener ikke du må skrive listbox-navnet direkte, altså "listbox" & n

Iøvrigt er CStr, jo en streng, og ikke en numerisk værdi.
Mon ikke du skal bruge CInt.
Jeg går ud fra, at dine listbokse, er oprettet i et array.
Avatar billede mgd Nybegynder
25. juli 2008 - 11:57 #2
Tak for hutigt svar.

Desværre er det ikke helt det jeg leder efter.
Jeg indlæser ikke navnet på mine listboxes i et array. De står statisk på den formular (arket) som jeg vil have brugerne til at udfylde. Jeg ved at brugeren kan ændre noget fx i række 14, men alt efter hvilken kolonne det er, skal forskellige listboxes rettes.

Nu forsøger jeg mig med - da jeg kan se at Excel angiver det til EMBED("Forms.ListBox.1";""), hvor jeg gerne vil ændre 1 tallet afhængigt af kolonnen - men har ikke fundet ud af at skrive fx

    Set LstBxName = EMBED("Forms.ListBox.1";"")

hvordan skrives dette korrekt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester