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

Blad opslaan als werkboek en sluiten.

Status
Niet open voor verdere reacties.

Revdutchie

Gebruiker
Lid geworden
29 nov 2009
Berichten
645
Goedenavond,

Ik wil graag met een macro een blad opslaan in een andere map met als naam de bladnaam (blad1 bijvoorbeeld dus opslaan als werkboek blad1)

en dat dan ongezien, het moet dus niet dat blad weer openen, maar gewoon opslaan en meer niet, ohja en wel verwijderen uit het originele werkboek.
 
Laatst bewerkt:
Het zal dan iets worden van:

Code:
    ActiveSheet.Move After:=Workbooks("Vandaag.xls").Sheets(5)
 
Laatst bewerkt:
Het zal dan iets worden van:

Code:
ActiveSheet.Select
    ActiveSheet.Move After:=Workbooks("Vandaag.xls").Sheets(5)

Ik was dus weer eens te summier in de uitleg, sorry.

De macro word aangeroepen door een knop op een userform, de sheet is dus niet active.
 
Ik was dus weer eens te summier in de uitleg, sorry.

De macro word aangeroepen door een knop op een userform, de sheet is dus niet active.

Dan weet ik het ook niet Jacques, als je een blad gaat benoemen om het naar een ander bestand te schrijven, zal het dus éénmalig zijn, doordat je het blad daarna verwijderd.
 
Dan weet ik het ook niet Jacques, als je een blad gaat benoemen om het naar een ander bestand te schrijven, zal het dus éénmalig zijn, doordat je het blad daarna verwijderd.

het is me opzich wel gelukt, maar dan opent het een nieuw werkboek met dat blad en dat wil ik dus niet.

Dit is wat ik tot nogtoe heb

Code:
Private Sub ClientVerwijderen_Click()
Dim X As Variant
X = Naam
X = Replace(X, " ", "", 1, 75)

Dim fso
Dim fol As String, dest As String
sfol = DataPad & X
dfol = DataPad & "/dataOUD/" & X
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(dfol) Then
    fso.MoveFolder sfol, dfol
Else
    MsgBox dfol & " already exists!", vbExclamation, "Bestand bestaat al!"
End If
        
    Sheets(X).Select
    ActiveSheet.Move After:=Workbooks(DataPad & "/dataOUD/" & X & "/").Sheets(5)
        
End Sub

het bovenste gedeelt verplaatst de map naar een andere map, en vervolgens wil de sheet dus verplaatsen naar de zojuist aangemaakte map.
 
Laatst bewerkt:
Misschien moet je de bladen die je boek telt opnemen in je userform, en dan bv. d.m.v. selecteren dat blad wegschrijven, en verwijderen.

Maar helaas zit ik nog niet op dat niveau.

I.i.g. succes.
 
Laatst bewerkt:
Code:
Sub tst()
    Application.displayalerts = false
    Sheets("Testblad").Copy
    With ActiveWorkbook
        .SaveAs "D:\Mijn documenten\Helpmij\" & ActiveSheet.Name & ".xls"
        .Close False
    End With
    Sheets("Testblad").Delete
    application.displayalerts = true
End Sub
 
Laatst bewerkt:
Code:
Sub tst()
    Application.displayalerts = false
    Sheets("Testblad").Copy
    With ActiveWorkbook
        .SaveAs "D:\Mijn documenten\Helpmij\" & ActiveSheet.Name & ".xls"
        .Close False
    End With
    Sheets("Testblad").Delete
    application.displayalerts = true
End Sub

Rudi,

Met jouw tip is het WEER gelukt, thanks.

Eindresultaat is

Code:
Application.DisplayAlerts = False
    Sheets(X).Copy
    With ActiveWorkbook
        .SaveAs DataPad & "dataOUD/" & X & "/" & X & ".xls"
        .Close False
    End With
    Sheets(X).Delete
    Application.DisplayAlerts = True
 
Code:
X = Naam
X = Replace(X, " ", "", 1, 75)
Dit kan ook zo
Code:
X = Replace(Naam, " ", "", 1, 75)
 
Help,

Ik heb een versie conflict

Code:
Sheets("Testblad").Copy
    With ActiveWorkbook
        .SaveAs "D:\Mijn documenten\Helpmij\" & ActiveSheet.Name & ".xls"

Doet het prima in 2003 maar in 2007 hangt hij op de laatste regel, iemand een idee ?
 
opgelost ik had in me code FRONT slash staan moet backslash zijn.
Wel raar dat 2003 dat wel pikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan