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

Bestand activeren.

Status
Niet open voor verdere reacties.

schilderehbo

Gebruiker
Lid geworden
21 dec 2015
Berichten
149
Hallo kenners,

Ik sla een excelbestand op met een bepaalde naam die vooraf niet bekend is. Naderhand wil ik dat bestand nogmaals openen en dan gegevens daar uit kopieren naar een ander bestand,
Dit bestand openen lukt wel maar het kopieren er naar niet i.v.m. het bestand dat ik wil activeren in mijn macro is niet bekend is omdat het steeds een andere naam heeft. Ik bepaal de naam van het bestand door een stringnaam. Dus mijn vraag is hoe activeer ik in mijn macro dat bepaalde bestand.
 
Hallo

Probleem is dat ik het bestand bijvoorbeeld opslaat als test1.
Ik open dus test1 en kopieer gegevens naar een excel bestand genaamd test2.
Het punt van probleem is dat bestand test2 altijd het zelfde is maar bestand test1 kan ook bijv. test3 of test4 enzovoort enzovoort.
Ik weet dus niet hoe ik dat bestand test1 kan activeren i.v.m. verandering van naam.
 
Zoiets:
Code:
    Dim WBE As String
    WBE = "C:\Diversen\1234\Map1.xlsx"
    
    Application.ScreenUpdating = False
    Workbooks.Open WBE
    With ActiveWorkbook
        .Sheets("Blad1").Range("A1") = ThisWorkbook.Sheets("Blad1").Range("A1")
        .Save
        .Close
    End With
    Application.ScreenUpdating = True
 
Komen in de buurt maar ik zie maar 1 bestand hoe voeg ik dat andere bestand erin. Heb namelijk 2 bestanden: *.xlsm en test2.xlsm
* is onbekend en open test2.xlsm
 
Als je dat tweede bestand opent kan het niet anders dan dat je het eerste bestand al open hebt.
In dat stukje wordt toch echt met 2 bestanden gewerkt.
 
Nee, het bestand dat je hebt geopend om die code te kunnen starten uiteraard.
 
Nee, het bestand dat je hebt geopend om die code te kunnen starten uiteraard.

Ben er achter of tenminste een heel stuk al maar ik wil dat het ene bestand gesloten wordt (bestand wat al open was) en nieuw geopend bestand moet open blijven.
 
Dat kan met ActiveWorkbook.Close.
 
Als laatste en dan moet je die andere .Close uiteraard weg laten.
 
Als laatste en dan moet je die andere .Close uiteraard weg laten.

Kan je dat stukje misschien plaatsen ik kom er niet uit.
geen idee waar hij moet komen
ik doe het zo:

Dim WBE As String
WBE = "C:\Diversen\1234\Map1.xlsx"

Application.ScreenUpdating = False
Workbooks.Open WBE
With ActiveWorkbook
.Sheets("Blad1").Range("A1") = ThisWorkbook.Sheets("Blad1").Range("A1")
.Save
ActiveWorkbook.close
End With
Application.ScreenUpdating = True
 
Code:
Dim WBE As String
WBE = "C:\Diversen\1234\Map1.xlsx"

Application.ScreenUpdating = False
Workbooks.Open WBE
With ActiveWorkbook
    .Sheets("Blad1").Range("A1") = ThisWorkbook.Sheets("Blad1").Range("A1")
    .Save
End With
Application.ScreenUpdating = True 
ThisWorkbook.close
 
Code:
Dim WBE As String
WBE = "C:\Diversen\1234\Map1.xlsx"

Application.ScreenUpdating = False
Workbooks.Open WBE
With ActiveWorkbook
    .Sheets("Blad1").Range("A1") = ThisWorkbook.Sheets("Blad1").Range("A1")
    .Save
End With
Application.ScreenUpdating = True 
ThisWorkbook.close

Ik heb hem helemaal werkend mijn dank maar 1 ding nog hij vraagt of ik wil opslaan (het bestand wat al geopend was vanaf begin ik heb save geprobeerd maar dat lukt niet helemaal.
wat geopend is door macro blijft netjes open staan.

ik heb dit nu staan:

Sub offertenaarfactuur()

Dim WBE As String
WBE = "D:\De schilders\Facturen jaar 2018\Factuur De schilders.xlsm"

Application.ScreenUpdating = False
Workbooks.Open WBE
With ActiveWorkbook
Sheets("Factuur").Unprotect Password:="01"
.Sheets("Factuur").Range("C14") = ThisWorkbook.Sheets("Voorblad offerte").Range("D17")
.Sheets("Factuur").Range("C16") = ThisWorkbook.Sheets("Voorblad offerte").Range("D18")
.Sheets("Factuur").Range("C17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D19")
.Sheets("Factuur").Range("E17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D20")
Sheets("Factuur").Protect Password:="01"
Application.ScreenUpdating = True
ThisWorkbook.Close

End With

End Sub
 
In die code sluit je alleen het initiëel geopende werkboek, niet de WBE.
Je wilt het gewijzigde bestand opslaan en dan Excel sluiten?

Code:
Sub offertenaarfactuur()
    Dim WBE As String
    WBE = "D:\De schilders\Facturen jaar 2018\Factuur De schilders.xlsm"
    Application.ScreenUpdating = False
    Workbooks.Open WBE
    With ActiveWorkbook.Sheets("Factuur")
        .Unprotect Password:="01"
        .Range("C14") = ThisWorkbook.Sheets("Voorblad offerte").Range("D17")
        .Range("C16") = ThisWorkbook.Sheets("Voorblad offerte").Range("D18")
        .Range("C17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D19")
        .Range("E17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D20")
        .Protect Password:="01"
    End With
    
    With ActiveWorkbook
        .Save
        .Close
    End With
    
    Application.Quit
End Sub

Wees dus duidelijk in wat je precies met welk werkboek wilt doen.
 
Laatst bewerkt:
In die code sluit je alleen het initiëel geopende werkboek, niet de WBE.
Je wilt het gewijzigde bestand opslaan en dan Excel sluiten?

Code:
Sub offertenaarfactuur()
    Dim WBE As String
    WBE = "D:\De schilders\Facturen jaar 2018\Factuur De schilders.xlsm"
    Application.ScreenUpdating = False
    Workbooks.Open WBE
    With ActiveWorkbook.Sheets("Factuur")
        .Unprotect Password:="01"
        .Range("C14") = ThisWorkbook.Sheets("Voorblad offerte").Range("D17")
        .Range("C16") = ThisWorkbook.Sheets("Voorblad offerte").Range("D18")
        .Range("C17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D19")
        .Range("E17") = ThisWorkbook.Sheets("Voorblad offerte").Range("D20")
        .Protect Password:="01"
    End With
    
    With ActiveWorkbook
        .Save
        .Close
    End With
    
    Application.Quit
End Sub

Wees dus duidelijk in wat je precies met welk werkboek wilt doen.

Thanks ik had hem al werkend bedankt voor je vele hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan