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

Een kopie maken van een Excel werkblad

Status
Niet open voor verdere reacties.

Verberkmoes

Verenigingslid
Lid geworden
26 feb 2002
Berichten
59
Ik wil met een macro commando een kopie maken van een Excel werkblad naar een andere werkmap.
Het werkblad staat in een werkmap met de vaste naam A.xls en ik wil het kopieeren naar werkmap X.xls met een variabele naam.
Bij aanvang van het macro commando is de werkmap X de actieve werkmap.
(Werkmap A is ook reeds geopend).
Wie kan mij de coder geven.
Met vriendelijke groet,
Bert Verberkmoes
 
Beste Verberkmoes,

Pobeer eens de volgende module:

Code:
Sub kopieer_helpmij()
    Sheets("test").Copy Before:=Workbooks("x.xls").Sheets(1)
    Sheets("test").Name = "testerdetest"
End sub

Deze code kopieert binnen het actieve bestand (A.xls) werkblad test naar werkmap X.xls en zet het als eerste werkblad neer met de naam testerdetest.

Onderstaande code maakt het iets flexibeler, want je krijgt dan een inputbox waarin je de naam voor het nieuwe werkblad kunt opgeven. Hoef je de macro niet aan te passen.

Code:
Sub kopieer_helpmij()
    Dim HelpmijNaam
    Sheets("test").Copy Before:=Workbooks("x.xls").Sheets(1)
    HelpmijNaam = InputBox("Welke naam dient het werkblad te krijgen?")
    Sheets("test").Name = HelpmijNaam
end sub

Er zit geen controle in voor niet toegestane tekens, noch een controle voor het reeds bestaan van een werkblad met de opgegeven naam.

Richard
 
Er zit geen controle in voor niet toegestane tekens, noch een controle voor het reeds bestaan van een werkblad met de opgegeven naam.

Zoiets

Code:
Sub kopieer_helpmij()

    Dim HelpmijNaam As String
    Dim ws As Worksheet
    
    Sheets("test").Copy Before:=Workbooks("x.xls").Sheets(1)
    HelpmijNaam = Application.InputBox("Welke naam dient het werkblad te krijgen?", "Nieuwe naam", "test", Type:=2)
    
    On Error Resume Next
    Set ws = ActiveWorkbook.Sheets("test")
    
    If Err.Number <> 0 Then
        MsgBox HelpmijNaam & " bestaat al"
    Else
        Sheets("test").Name = HelpmijNaam
    End If
    
    On Error GoTo 0
End Sub

Wigi
 
Bedankt

Hartelijk dank voor jullie hulp.
Het probleem is opgelost.
Groeten,
Bert Verberkmoes
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan