• 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.

sluiten van opgevraagde file lukt niet

Status
Niet open voor verdere reacties.

mierl275

Gebruiker
Lid geworden
14 nov 2008
Berichten
18
Ik weet niet wat ik verkeerd doe... HELP
Het lukt me niet om deze opgevraagde WB te sluiten. met active kan het ook niet omdat ik waarden copiëer van het te sluiten WB naar een ander.

Wat doe ik fout???

Zie laatste regel code:


Sub Macro7()

fn = Application.GetOpenFilename("Excel-files,*.xls", 1, "Select One File To Open", , False)
If TypeName(fn) = "Boolean" Then Exit Sub
' the user didn't select a file
Debug.Print "Selected file: " & fn
Workbooks.Open fn

Range("B50").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(1,C[-1]:C[4],4,0)"
Range("B51").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(2,C[-1]:C[4],4,0)"
Range("B52").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(3,C[-1]:C[4],4,0)"
Range("B53").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(4,C[-1]:C[4],4,0)"
Range("B54").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(5,C[-1]:C[4],4,0)"

Range("C50").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(1,C[-2]:C[3],5,0)"
Range("C51").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(2,C[-2]:C[3],5,0)"
Range("C52").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(3,C[-2]:C[3],5,0)"
Range("C53").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(4,C[-2]:C[3],5,0)"
Range("C54").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(5,C[-2]:C[3],5,0)"

Range("B50:C54").Select
Selection.Copy

Windows("CTDI_template.xls").Activate

Workbooks(fn).Close savechanges:=False 'dit werkt dus niet!!
End Sub


Bedankt!
 
Je kunt volstaan met
Code:
 Workbooks(Workbooks.Count).Close savechanges:=False

... omdat het bestand het laatste bestand is wat je hebt geopend.

Als alternatief kan je een variabele nemen met de naam van het geopende bestand en dan dat bestand afsluiten. Zoiets:

Code:
Workbooks.Open fn
NewBest = Workbooks(Workbooks.Count).Name
.. en aan het eind...
Code:
 Workbooks(NewBest).Close savechanges:=False

Met vriendelijke groet,


Roncancio
 
En laat al die Selecten achterwege in je code. Ze werken vertragend en zijn totaal overbodig

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan