active window een naam geven

Status
Niet open voor verdere reacties.

polderploer

Gebruiker
Lid geworden
13 sep 2007
Berichten
69
Weet iemand hoe ik het active window een naam kan geven, zodat ik hierna in de macro weer andere excel sheets kan oproepen en op het laatst weer het eerste venster.

Dit in verband met de verschillende bestandsnamen dat het active window kan hebben, anders moet ik voor elke bestandsnaam een "andere" macro maken.

ik dacht aan zoiets, maar het werkt niet:

Code:
dim A as activewindow
 
Een window herken je in het algemeen (in Visual Basic) aan zijn 'handle', een uniek nummer. Bijvoorbeeld:
Code:
Dim lngLastWindow as long

iLastWindow = ActiveWindow.wHnd

In Excel hoef je Sheets niet op die manier te onthouden, maar doe je dat via diens naam, index of iets dergelijks.

Will je via een macro verschillende instanties van Excel openen en de sheets bewerken, dan raad ik je deze website aan:
http://www.cpearson.com/excel/ActivateExcelMain.aspx
 
Dit is niet wat ik bedoel.

Nogmaals het gaat erom dat het basisbestand, waarin een knop staat verschillende namen kan hebben (bv. "1234.XLS" of "ABCD.XLS") In beide gevallen is het bestand hetzelfde. Nu wil ik dus de macro starten en dan geeft ie halverwege een error omdat ik de bestandsnaam niet overeenkomt met het geheel. Het zou dus beter zijn dat waneer de macro in werking treedt deze het active bestand een vaste naam geeft zodat het niet uitmaakt wat de bestandsnaam is van de file.

Het gaat om deze code:

Code:
Windows("1234").Activate

Nu moet ik elke keer handmatig in de macro deze regel veranderen, of de bestandsnaam aan passen en aangezien andere gebruikers dit in de toekomst ook gaan gebruiken is dit niet echt praktisch.

Wie kan mij helpen!? Ik heb al uren lopen zoeken en puzzelen, maar ik kom er niet uit helaas...
 
Hoi,

Ik zat met hetzelfde probleem (denk ik) en heb het als volgt opgelost. In de macro neem je een variabele op bijvoorbeeld : Naam as string. Dan open ik bestand 123.xls. Meteen daaronder neem ik de volgende regel op: Naam = Activeworkbook.Name.

De code ziet er dan als volgt uit:
Dim Naam As String

Worksheets("Blad 1").Select
Naam = ActiveWorkbook.Name

Vanuit een andere werkmap open je 123.xls met de code:
Workbooks(Naam).Activate

Op deze manier kan je diverse geopende werkmappen oproepen.

Hopelijk kan je hiermee uit de voeten.

Groet,

Ronald
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan