• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

meerdere bestanden tegelijk afsluiten in Excel

Status
Niet open voor verdere reacties.

Charly72

Gebruiker
Lid geworden
8 nov 2007
Berichten
10
Wie kan mij verder op weg helpen met hetvolgende:
Ik wil in Excel 3 geopende bestanden in één keer afsluiten zonder op te slaan (ondanks eventuele wijzigingen)
Ik heb onderstaande code in het laatste bestand (this workbook) gezet zodat eigenlijk de eerste twee als eerste afgesloten worden, maar dit werkt helaas niet.


Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

'worksbook("bestand 1.xls").Close SaveChanges:=False
'worksbook("bestand 2.xls").Close SaveChanges:=False
worksbook("bestand 3.xls").Close SaveChanges:=False

End Sub

Wie kan mij verder helpen?
Bij voorbaat hartelijk dank
Charly
 
Laatst bewerkt door een moderator:
Code:
Public Sub CloseFiles()
  Dim wb As Workbook
  For Each wb In Application.Workbooks
     wb.Close False
  Next
End Sub
 
Je hebt voor het afsluiten van bestand 1 en bestand 2 een ' (accent) staan. Dat wil zeggen dat de VBE dit ziet als comment ipv als uitvoerbare code. Ligt hier het probleem?

edit: workbooks is ook verkeerd gespeld.
edit2: Wigi was me net voor met die opmerking.
 
Laatst bewerkt:
En met

Code:
wor[B]ks[/B]book

ga je niet echt veel workbooks aanspreken...
 
Dan moet je er toch komen met de andere opmerkingen; je code zou moeten werken als je de typefouten er uithaalt.
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Workbooks("map1.xls").Close SaveChanges:=False

Workbooks("map2.xls").Close SaveChanges:=False

Workbooks("map3.xls").Close SaveChanges:=False

End Sub

bovenstaande code geeft de foutmelding subscript valt buiten bereik
wat doe ik fout??
 
In welk werkbook heb je dit staan? map1, map2 of map3?
 
en zijn die 3 werkbooks allemaal open op het moment van het uitvoeren van je code?

Subscript out of range wil zeggen dat je een element aanspreekt dat niet bestaat, of niet als dusdanig bekend is.
 
En je moet de .xls eens weg laten. De naam van het werkboek heeft nl geen extensie:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Workbooks("map1").Close SaveChanges:=False
Workbooks("map2").Close SaveChanges:=False
Workbooks("map3").Close SaveChanges:=False

End Sub
 
Subscript out of range wil zeggen dat je een element aanspreekt dat niet bestaat, of niet als dusdanig bekend is.
Precies :thumb:, en workbooks("map1.xls") bestaat dus niet, workbooks("map1") wel.
 
En je moet de .xls eens weg laten. De naam van het werkboek heeft nl geen extensie:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Workbooks("map1").Close SaveChanges:=False
Workbooks("map2").Close SaveChanges:=False
Workbooks("map3").Close SaveChanges:=False

End Sub

ook als ik .xls weglaat wordt de code niet uitgevoerd
 
Heten ze dan wel zo? Werkt bij mij prima hoor. Probeer eens:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

   msgbox Workbooks(1).name

End Sub
En kijk eens welke naam je te zien krijgt?
 
da's vreemd. Map3 is dan ook wel de eerste map. Die sluit je dan ook wel meteen af en is de code niet meer te vinden. Even denken wat je dan zou kunnen doen
 
Staan die files in dezelfde Excel applicatie (dus Excel programma) of zijn ze misschien afzonderlijk?
 
ze staan in dezelfde applicatie

Zip die files dan eens, samen met het bestandje met de code in.

En die file zet je dan hier op het forum neer, zodat wij ook eens kunnen zien.

Open je trouwens files vanuit code, of manueel?

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan