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

Gegevens exporteren uit sheet naar bestand

Status
Niet open voor verdere reacties.

thespinner

Gebruiker
Lid geworden
21 jul 2014
Berichten
47
Hallo,

Ik zit met een probleem waar ik al een tijdje niet uitkom.

Het volgende wil ik graag realiseren;

Ik heb een planning bestand met verschillende werkbladen o.a 5 sheets met weekplanningen. Ik wil graag dat de ingevulde tijden van 1 planning gekopieerd worden naar een bestaand bestand met een vaste naam. bv exportplan.
Daarna wil ik d.m.v bv een knop indien gewenst die gegevens zo weer terug te zetten. Dit moet zo, omdat elke keer mijn bronbestand van naam gaat wisselen en dus een nieuw bestand wordt.

Wat voor opties heb ik hierin?

bijgevoegd een voorbeeld hoe de opmaak ongeveer is van mijn planning.

alvast bedankt voor alle hulp!
 

Bijlagen

Maak van je baisbestand een alleen lezen bestand.
Dat kun je dan steeds als je wijzigingen hebt aangebracht op slaan onder een nieuwe naam!
 
maar als ik tussentijds in een planning wil stoppen of om wat voor reden dan ook dan krijg ik elke keer een nieuw bestand. Nu wordt er alleen wanneer een nieuwe maand is aangebroken
een nieuw bestand gemaakt.

Buiten dit om snap ik niet hoe je antwoord een oplossing voor mijn probleem is.
Ik wil in een planning gegevens exporteren naar een extern bestand, zodat ik op een later tijdstip in een ander planning bestand deze gegevens weer erin zou kunnen zetten.

iig wel bedankt voor het meedenken!
 
Laatst bewerkt door een moderator:
Dan heb ik je vraagstelling waarschij nlijk fout geïnterpreteerd, sorrie daarvoor.
 
Ik heb inmiddels zelf een manier gevonden. Niet elegant, maar het werkt wel.
 
Mogen wij ook weten hoe?
 
Hallo,

Dat mag, alleen dat het allemaal gelukt is betekent nog niet dat ik het helemaal snap. :shocked:

Ik ga wel een poging doen om wellicht anderen op ideeën te brengen.

Allereerst wilde ik mijn inhoud van begin en eindtijden in 1 planning exporteren.
Ik heb een kopie van mijn planning als export bestand weggeschreven naar c:\temp d.m.v de volgende vba code en die door aan een knop toe te wijzen laten uitvoeren.

Code:
Sub bestandaanmaken()

Application.ScreenUpdating = False
Sheets("standaard").Select
ActiveSheet.Copy
'Workbooks.Add
'ActiveSheet.Paste
Application.DisplayAlerts = False
On Error Resume Next
MkDir "C:\temp"
On Error GoTo 0
    ActiveWorkbook.SaveAs filename:="C:\temp\exportweek.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWindow.Close
Sheets("planning").Select
End Sub
Nu heeft hij een bestand aangemaakt met dezelfde indeling als mijn planning met daarbij het evt. aanmaken van de betreffende map indien hij niet bestaat.
Daarna was het om via een knop alleen de inhoud van de planning (dus de werktijden) te kopiëren naar het aangemaakte bestand. d.m.v de volgende code;

Code:
Sub exporteren()
'
' exporteren Macro
' Exporteren naar exportweek bestand

 Dim MyBookName As String

 ' declares the variable, right now it contains an empty string
 Dim Workbook As Workbook

 MyBookName = "Planning" ' this sets the value of the variable to the sheet name

 ActiveWindow.Caption = "1"

'
If checkfile("c:\temp\exportweek.xlsm") Then

    Application.ScreenUpdating = False
    Workbooks.Open filename:= _
        "c:\temp\exportweek.xlsm", UpdateLinks _
        :=0
     ActiveWindow.Caption = "2"
    Windows("2").Activate
    Range("G6").Select
    Windows("1").Activate
    Range("H6:H50").Select
    Selection.Copy
    Windows("2").Activate
    Range("G6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("J6:J50").Select
    Selection.Copy
    Windows("2").Activate
    Range("I6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("aj6:aj50").Select
    Selection.Copy
    Windows("2").Activate
    Range("l6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("al6:al50").Select
    Selection.Copy
    Windows("2").Activate
    Range("n6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("bl6:bl50").Select
    Selection.Copy
    Windows("2").Activate
    Range("q6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("bn6:bn50").Select
    Selection.Copy
    Windows("2").Activate
    Range("s6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("1").Activate
    Range("cn6:cn50").Select
    Selection.Copy
    Windows("2").Activate
    Range("v6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
MsgBox "Exporteren voltooid!"
Else
     MsgBox "Bestand niet aanwezig, eerst op maak bestand button drukken!"
End If

End Sub

Hierbij had ik de volgende code nodig om controle te doen van het bestaan van het bestand, anders liep de macro in de fout.

Code:
Function checkfile(filename As String) As Boolean

checkfile = (Dir(filename) <> "")

End Function
Code:
Sub Filetest()

If checkfile("c:\exportweek.xlsm") Then



Else

MsgBox "Bestand niet aanwezig!!"

End If

End Sub


Nu hoefde ik alleen nog een knop en code voor het importeren te maken en dat heb ik d.m.v. de volgende code gedaan;

Code:
Sub importeren()
'
' import Macro
' Importeren van exportweek bestand naar planning
Dim MyBookName As String

 ' declares the variable, right now it contains an empty string
 Dim Workbook As Workbook

 MyBookName = "Planning" ' this sets the value of the variable to the sheet name

 ActiveWindow.Caption = "1"

'
If checkfile("c:\temp\exportweek.xlsm") Then

    Application.ScreenUpdating = False
    Workbooks.Open filename:= _
        "c:\temp\exportweek.xlsm", UpdateLinks _
        :=0
    ActiveWindow.Caption = "2"
    Windows("2").Activate
    Range("g6:g50").Select
    Selection.Copy
    Windows("1").Activate
    Range("h6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("i6:i50").Select
    Selection.Copy
    Windows("1").Activate
    Range("j6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("l6:l50").Select
    Selection.Copy
    Windows("1").Activate
    Range("aj6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("n6:n50").Select
    Selection.Copy
    Windows("1").Activate
    Range("al6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("q6:q50").Select
    Selection.Copy
    Windows("1").Activate
    Range("bl6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("s6:s50").Select
    Selection.Copy
    Windows("1").Activate
    Range("bn6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("2").Activate
    Range("v6:v50").Select
    Selection.Copy
    Windows("1").Activate
    Range("cn6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     Windows("2").Activate
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
  Else
     MsgBox "Bestand niet aanwezig, eerst bestand exporteren!"
End If
End Sub
Ik kan nu op de manier zoals ik wilde, im- en ex-porteren. Het maakt niet meer uit welke bestandsnaam mijn planning heeft , omdat hij nu eerst voor het proces de naam '1' krijgt en het export bestand wanneer hij geopend wordt '2'.


Ik hoop dat ik hier iemand blij mee kan maken zoals ik geprobeerd heb om het zo duidelijk als ik vond het uit te leggen. Ik heb iig niet een oplossing aangedragen gekregen of gevonden via google of forums.

Succes allemaal.
 
Laatst bewerkt door een moderator:
@thespinner Graag code tussen codetags plaatsen. Op die manier is het duidelijker te lezen voor de helpers.
 
Bedankt voor de terugkoppeling!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan