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

Tabblad kopiëren in een nieuw bestand en nieuw bestand opslaan

Status
Niet open voor verdere reacties.

tkint

Gebruiker
Lid geworden
5 dec 2011
Berichten
754
Beste,

Van het bestand in bijlage wil ik het tabblad kopiëren in een nieuw bestand in dezelfde directory en met een naam die samengesteld is uit de waarde van cel A54, spatie, waarde van cel C54, liggend streepje en als bestand zonder macro.
Bij het plakken wil ik alleen de waarden en de opmaak kopiëren en de breedte van de kolommen behouden. En daarna het nieuw aangemaakte bestand sluiten om terug te keren naar het bron bestand.
Hoe doe ik dat?
 

Bijlagen

  • Forumvraag_plakken_in_nieuw_bestand.xlsx
    13,4 KB · Weergaven: 19
Hoi,

Zo iets?

Code:
Sub Opslaan()
Dim Bestandsnaam As String, mynumber As String, myname As String

Blad1.Select
mynumber = Format(Range("A54").Value)
myname = Format(Range("C54").Value)

Bestandsnaam = mynumber & " " & myname & "-"
'Pad1 = "C:\Data\" vul hier het pad in
If myFile <> "False" Then
        ActiveWorkbook.SaveAs Filename:=Pad1 & Bestandsnaam

End If
End Sub
 
Of zo:
Code:
Sub Opslaan()
    bst = Range("A54").Value & " " & Range("C54").Value & ".xlsx"
    shn = Range("C54").Value
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    Set wb = Workbooks.Add
    ThisWorkbook.Sheets("Blad1").Copy Before:=wb.Sheets(1)
    wb.Sheets(1).Name = shn
    wb.SaveAs ThisWorkbook.Path & "\" & bst
    wb.Close
    
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
 
Laatst bewerkt:
zoiets:
Opslaan zonder macro's en onzichtbaar maken van de knop opslaan.
 

Bijlagen

  • Kopie van Forumvraag_plakken_in_nieuw_bestand.xlsm
    25,2 KB · Weergaven: 25
Beste forumleden,

Hartelijk dank voor de reactie. Ik probeer de 3 oplossingen uit en houd jullie op de hoogte.
 
Of
Code:
Sub VenA()
  Application.ScreenUpdating = False
  Sheets("Blad1").Copy
  With ActiveWorkbook
    .SaveAs ThisWorkbook.Path & "\" & [A54] & " " & [C54] & "_", 51
    .Close 0
  End With
End Sub
 
Beste forumleden,

Ik ben in mijn opzet geslaagd geslaagd. Ik plaats het onderwerp als opgelost.
 
Voor welke heb je gekozen dan? Geen enkele voldoet aan de vraag.
 
@VenA,

Ik koos voor de oplossing van Edmoor. Jouw code geeft een foutmelding. Ik kan niet achterhalen in welke regel de fout optreedt want er wordt geen regel gemarkeerd. Ik wil niet telkens opnieuw een vraag stellen wanneer er iets fout gaat. Je bent immers al bereid om te helpen.
Zal ik de foutmelding eens doormailen?
 
@VenA,

De foutcode is 1400 en er komt melding of ik het bestand wil opslaan zonder macro.
 
Dat laatste wordt in mijn voorbeeld onderdrukt door: Application.DisplayAlerts = False
 
Even voor mijn beeld. Met welke versie van Excel werk je?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan