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

Celnaam plaatsen in bestandsnaam

  • Onderwerp starter Onderwerp starter dbk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

dbk

Gebruiker
Lid geworden
8 aug 2008
Berichten
33
Goedenmiddag allemaal,

Net voor het weekend wil ik graag nog een vraag stellen. Ik heb een macro gemaakt welke een tabblad kopieert en deze in een nieuw bestand plaatst. Alleen wil ik dan graag dat hij de naam uit een cel (weeknummer) in de bsstandsnaam van het nieuwe bestand plaatst,


PHP:
Sub Macro_export_weekplanning_en_mailen()

' Deze sub zorgt ervoor dat het tabblad weekplanning wordt gekopieerd in
‘ een nieuw bestand, welke per week wordt opgeslagen.

'Blad 8 leegmaken (hier wordt de informatie van blad 3 geplaatst) 
    Blad8.Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    
'Blad 3 kopiëren 
    Blad3.Select
    Columns("A:M").Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    'Sheets("Week export").Select

'informatie plaatsen op blad 8
    Blad8.Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("A2").Select
    Sheets("Personeelplanning E Oost").Select

'blad 3 weer selecteren om de selectie 'ongedaan te maken'
    Blad3.Select
    Application.CutCopyMode = False
    Range("A3").Select
    
'blad 8 kopiëren naar nieuw bestand en mailen
    Blad8.Copy
    ChDir "D:\"
    ActiveWorkbook.SaveAs "Weekplanning E voor week " & ThisWorkbook.Name
    Cells.Select
     Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

End Sub

Ik heb het nu voor elkaar dat hij de de naam van het bestand erachter plaatst (8-ste regel van onderen van de macro). Dit moet een celverwijzing worden.

Wie weet de oplossing?

Groet,
DBK
 
Verander deze regel:
Code:
 ActiveWorkbook.SaveAs "Weekplanning E voor week " & ThisWorkbook.Name

in deze regel
Code:
Bestandsnaam = Range (["A3"]).Value
ActiveWorkbook.SaveAs "Weekplanning E voor week " & Range(["[COLOR="Blue"][B]L12[/B][/COLOR]"]).Value

waarbij L12 de cel is waar je bestandsnaam staat
 
Bijv.:
Code:
If IsEmpty(Range("A1").Value)
MsgBox "De cel is leeg!",vbExclamation,"Lege cel."
Else
    ActiveWorkbook.SaveAs "Weekplanning E voor week " & Range("A1").Value
End if

Bij voorkeur geen select e.d. gebruiken.

Met vriendelijke groet,


Roncancio
 
Sorry, kan de vorige niet aanpassen. Dit is de juiste:

Verander deze regel:
Code:
 ActiveWorkbook.SaveAs "Weekplanning E voor week " & ThisWorkbook.Name

in deze regel
ActiveWorkbook.SaveAs "Weekplanning E voor week " & Range(["L12"]).Value[/CODE]

waarbij L12 de cel is waar je bestandsnaam staat[/QUOTE]
 
Roncancio en Gert Bouwmeeste,

Bedankt voor de snelle reactie. Ik heb de oplossingen geprobeerd en hij doet precies wat ik had gehoopt.

Bedankt ! :thumb::thumb:


Groet,
DBK
 
Code:
[COLOR="Red"]Sub Macro_export_weekplanning_en_mailen() 

' Deze sub zorgt ervoor dat het tabblad weekplanning wordt gekopieerd in 
‘ een nieuw bestand, welke per week wordt opgeslagen. 

'Blad 8 leegmaken (hier wordt de informatie van blad 3 geplaatst)  
    Blad8.Select 
    Cells.Select 
    Selection.Delete Shift:=xlUp 
    Range("A1").Select 
     
'Blad 3 kopiëren  
    Blad3.Select 
    Columns("A:M").Select 
    Selection.SpecialCells(xlCellTypeVisible).Select 
    Selection.Copy 
    'Sheets("Week export").Select 

'informatie plaatsen op blad 8 
    Blad8.Select 
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ 
        False, Transpose:=False 
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ 
        False, Transpose:=False 
    Range("A2").Select 
    Sheets("Personeelplanning E Oost").Select 

'blad 3 weer selecteren om de selectie 'ongedaan te maken' 
    Blad3.Select 
    Application.CutCopyMode = False 
    Range("A3").Select 
     
'blad 8 kopiëren naar nieuw bestand en mailen 
    Blad8.Copy 
    ChDir "D:\" 
    ActiveWorkbook.SaveAs "Weekplanning E voor week " & ThisWorkbook.Name [/COLOR] 
    Cells.Select 
     Selection.Copy    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ 
        False, Transpose:=False 
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ 
        False, Transpose:=False 

End Sub

Het rode gedeelte van de code hierboven kun je ook vervangen voor onderstaande. Snap alleen niet waar het laatste stuk van jou code voor dient

Code:
Sub Macro_export_weekplanning_en_mailen()
    Blad8.Cells.Delete Shift:=xlUp
    Blad3.Columns("A:M").SpecialCells(xlCellTypeVisible).Copy Blad8.Cells(1, 1)
    Blad8.Copy
    ChDir "C:\"
    ActiveWorkbook.SaveAs "Weekplanning E voor week " & Range(["L12"]).Value
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan