Tuesday 15 September 2015

vba - Excel Macro - Windows().Activate not taking value -



vba - Excel Macro - Windows().Activate not taking value -

the code works following:

windows("contract drilldown (3).xls").activate

when utilize :

windows(chr(34) & ddlopenworkbooks.value & chr(34)).activate

i get:

runtime error '424': object required

if utilize string variable pass in values i.e.:

dim wbn string wbn = "contract drilldown (3).xls" windows(chr(34) & wbn & chr(34)).activate

i get:

run-time error '9': subscript out of range

and if use

wbn = ddlopenworkbooks.value windows(chr(34) & wbn & chr(34)).activate

i

runtime error '424': object required

anyone have thought how can pass in ddlopenworkbooks.value in without getting error?

edit - more info

ok application looks this:

the total code block import info button is:

public sub data_import() windows(ddlopenworkbooks.value).activate columns("a:v").select selection.copy omni_data.activate range("a1").select activesheet.paste omni_data.range("a:z").interior.colorindex = 0 omni_data.range("a:z").font.name = "segoe ui" omni_data.range("a:z").font.name = "segoe ui" 'setting background colour white , changing font end sub

the above sub called on click event button.

as test close button has next code:

private sub cmdcancel_click() msgbox (ddlopenworkbooks.value) end end sub

which works fine:

update

so have found problem.

as beingness called module didn't know ddlopenworkbooks , pull info from.

the corrected code in sub is:

public sub data_import() windows(frmomnidatamanipulation.ddlopenworkbooks.value).activate columns("a:v").select selection.copy omni_data.activate range("a1").select activesheet.paste omni_data.range("a:z").interior.colorindex = 0 omni_data.range("a:z").font.name = "segoe ui" omni_data.range("a:z").font.name = "segoe ui" 'setting background colour white , changing font end sub

this allow me phone call sub.

thanks all!

have tried:

windows(ddlopenworkbooks.value).activate

the quotes needed if typing in value. if passing value in other way quotes unnecessary.

update

here steps have taken, , allow me activate selected window no errors.

i created userform combobox named ddlopenworkbooks , 2 buttons.

i hardcoded rowsource of combobox illustration purposes, shouldn't issue here.

my 1st button displays message selected workbooks name ddlopenworkbooks.

here code button

private sub btnmessage_click() msgbox me.ddlopenworkbooks.value end sub

here result

my sec button uses selection in ddlopenworkbooks , activates window. here code.

private sub btnactivate_click() windows(me.ddlopenworkbooks.value).activate end sub

and here result

final update:

when passing ddlopenworkbooks.value procedure not userform event, you'll need include name of userform.

this line you'll need in procedure correctly value combobox:

windows(frmomnidatamanipulation.ddlopenworkbooks.value).activate

excel vba

No comments:

Post a Comment