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

macro opslaan naar map

Status
Niet open voor verdere reacties.

BassieK

Gebruiker
Lid geworden
1 feb 2010
Berichten
10
Dankzij dit forum ben ik er zonder programmeerskills in geslaagd een macro te maken waarbij mijn bestand automatisch op wordt geslagen met vermelding van klantnaam (i1) en 'datum van vandaag' (n1).

Ik loop er nu echter tegenaan dat hij dit doet in een default map, blijkbaar waar ik voor het laatst iets in heb opgeslagen.

Welke crack kan onderstaande macro aanpassen zodat mijn bestanden in dit pad terechtkomen? \\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 1-2-2010 door KL2037.
'

'
Range("A1:M48").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Blad1").Select
Application.CutCopyMode = False
Sheets("Blad1").Copy
ActiveWorkbook.SaveAs (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")
ActiveWindow.Close
End Sub
 
Laatst bewerkt:
Dankzij dit forum ben ik er zonder programmeerskills in geslaagd een macro te maken waarbij mijn bestand automatisch op wordt geslagen met vermelding van klantnaam (i1) en 'datum van vandaag' (n1).

Ik loop er nu echter tegenaan dat hij dit doet in een default map, blijkbaar waar ik voor het laatst iets in heb opgeslagen.

Welke crack kan onderstaande macro aanpassen zodat mijn bestanden in dit pad terechtkomen? \\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 1-2-2010 door KL2037.
'

'
Range("A1:M48").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Blad1").Select
Application.CutCopyMode = False

Sheets("Blad1").Copy
ActiveWorkbook.SaveAs (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")
ActiveWindow.Close
End Sub

Volgens mij mag het hele rode gedeelte uit je code
 
Het bronbestand is ongeveer 20 werkbladen groot, daarom kopieert de macro eerst naar een nieuwe map met de gegevens geplakt als waarde. Het eerste gedeelte van de macro heeft dus wel een functie.

Het gaat mij erom dat het bestand in de juiste map wordt opgeslagen. Aan deze zin ...

ActiveWorkbook.SaveAs (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")

... moet denk ik het pad toegevoegd worden, maar hoe?
 
Het bronbestand is ongeveer 20 werkbladen groot, daarom kopieert de macro eerst naar een nieuwe map met de gegevens geplakt als waarde. Het eerste gedeelte van de macro heeft dus wel een functie.

Dat gebeurt ook zonder het rode gedeelte :D

Voor je andere vraag moet je even op de echte cracks wachten, want dat weet ik niet.
 
Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 1-2-2010 door KL2037.
'

'
Range("A1:M48").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Blad1").Select
Application.CutCopyMode = False
Sheets("Blad1").Copy

ActiveWorkbook.SaveAs (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")
ActiveWindow.Close
End Sub

kan worden

Code:
[A1:M48].Copy [blad1!A1:M48]
ActiveWorkbook.SaveAs (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")
    ActiveWindow.Close
End Sub

Op het forum gevonden

Code:
[A1:M48].Copy [blad1!A1:M48]
Sheets("Blad1").Copy
With ActiveWorkbook
    With .Sheets(1).UsedRange
        .Value = .Value
    End With
     .SaveAs "\\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls"
    .Close
End With
 
Laatst bewerkt:
Thanks, als de macro compleet is zal ik het testen, hoe korter hoe beter.
 
Code hierboven aangepast, of het werkt weet ik niet, kan niet opslaan naar dat pad :D
 
In de macro krijg ik nu een foutmelding op "ActiveWorkbook"
-------------------------------------
compileerfout
verwacht: instructie-einde
-------------------------------------
 
Code:
Sub opslag()
  [blad1!A1:M48]=[[COLOR="Blue"]Blad2[/COLOR]!A1:M48].Value 
  Sheets("Blad1").Copy
  With ActiveWorkbook
     .SaveAs "\\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" & .sheets(1).Range("n1").Value & ".xls"
    .Close
  End With
End Sub

Neem de code exact over. Pas het blauwe deel aan
 
Thanks! Het was me in de tussentijd gelukt het opslaan in de juiste map door te voeren in mijn eigen (te lange) macro. Als volgt:

Range("A1:M48").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Blad1").Select
Application.CutCopyMode = False
Sheets("Blad1").Copy
ActiveWorkbook.SaveAs Filename:="\\Nlfsprdcn00002.services.branches.nl.eu.abnamro.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" & (ActiveWorkbook.Worksheets(1).Range("i1").Value & " " & ActiveWorkbook.Worksheets(1).Range("n1").Value & ".xls")
ActiveWindow.Close

Ik kan jouw suggestie niet doorvoeren omdat de werkmap Blad2! - of een andere naam - op het moment dat de macro gebruikt wordt nog niet bestaat. Er moet dus ergens in de macro een opdracht komen die een nieuwe map opent.

Mocht je hier nog een oplossing voor hebben dan hoor ik het graag, anders houd ik het bij deze macro die in ieder geval goed werkt.

Allen dank voor de hulp.
 
Dit is beter:
Code:
Sub opslag()
  Sheets("Blad1").Copy
  With ActiveWorkbook
    .sheets(1).cells=.sheets(1).cells.Value
    .SaveAs "\\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" & .sheets(1).Range("i1") & " " & .sheets(1).Range("n1") & ".xls"
    .Close
  End With
End Sub
 
Dit is beter:
Code:
Sub opslag()
  Sheets("Blad1").Copy
  With ActiveWorkbook
    .sheets(1).cells=.sheets(1).cells.Value
    .SaveAs "\\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" & .sheets(1).Range("i1") & " " & .sheets(1).Range("n1") & ".xls"
    .Close
  End With
End Sub

Nou durf ik eigenlijk snb niet tegen te spreken, maar als ik het goed begrepen had moet blad1 steeds aangemaakt worden door deze macro dus volgens mij moet het dan zijn,

Code:
Sub opslag()
[A1:M48].Copy [blad1!A1:M48]
With ActiveWorkbook
    .sheets(1).cells=.sheets(1).cells.Value
    .SaveAs "\\Nlfsprdcn00002.services.branches.nl.eu.aa.com\data06\Sdep\0000118019\17. Medewerkers\TAD\Call Prep\" & .sheets(1).Range("i1") & " " & .sheets(1).Range("n1") & ".xls"
    .Close
  End With
end sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan