Before running the sample, have a part document open that contains a sketch with some sketch entities in it.
Public Sub CopySketch()
' Set a reference to the active document.
' This assumes a part document is active.
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
' Set a reference to the component definition.
Dim oDef As PartComponentDefinition
Set oDef = oDoc.ComponentDefinition
' Set a reference to the first sketch in the part.
Dim oSketchToCopy As PlanarSketch
Set oSketchToCopy = oDef.Sketches.Item(1)
' Select the sketch to copy.
Call oDoc.SelectSet.Clear
Call oDoc.SelectSet.Select(oSketchToCopy)
' Execute the copy command.
Dim oCopyControlDef As ControlDefinition
Set oCopyControlDef = ThisApplication.CommandManager.ControlDefinitions.Item("AppCopyCmd")
oCopyControlDef.Execute
' Create a new sketch on the XY plane.
Dim oNewSketch As PlanarSketch
Set oNewSketch = oDef.Sketches.Add(oDef.WorkPlanes.Item(3))
' Put the sketch in edit mode.
oNewSketch.Edit
' Execute the paste command.
Dim oPasteControlDef As ControlDefinition
Set oPasteControlDef = ThisApplication.CommandManager.ControlDefinitions.Item("AppPasteCmd")
oPasteControlDef.Execute
Dim oSketchEnts As ObjectCollection
Set oSketchEnts = ThisApplication.TransientObjects.CreateObjectCollection
Dim oSketchEnt As SketchEntity
For Each oSketchEnt In oNewSketch.SketchEntities
Call oSketchEnts.Add(oSketchEnt)
Next
' Translate all sketch entities in the new sketch.
Call oNewSketch.MoveSketchObjects(oSketchEnts, ThisApplication.TransientGeometry.CreateVector2d(1, 0))
End Sub