afhandeling als tabblad al bestaat

Status
Niet open voor verdere reacties.

arienlans

Gebruiker
Lid geworden
15 aug 2008
Berichten
168
ik heb deze VBA code
Code:
Sub kopie()

Dim vVraagjanee As Variant

    vVraagjanee = MsgBox("Wilt u tabblad 'overzicht totaal kopieeren?", vbInformation + vbYesNo, "Bevestiging")

    If vVraagjanee = vbYes Then


Sheets("overzicht totaal").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Workbooks.Open Filename:= _
        "M:\documenten\arbeid\kwaliteitsbeoordeling\2011\overzicht normen per handeling.xlsm" _
        , UpdateLinks:=3
    Sheets.Add After:=Sheets(Sheets.Count)
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Sheets("Blad1").Select
    Sheets("Blad1").Name = "Blad1"
    Range("A4:B4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Blad1").Select
    Sheets("Blad1").Name = Range("c4")
    Range("X16").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
    Range("A1").Select
    
    
    End If


End Sub

kan ik hier het volgende in bouwen?
Als het tabblad al bestaat een vraag met ja of nee overschrijven?
En hoe kan ik het tabblad overschrijven?

Arien
 
Begin hier al eens mee.
Code:
Sub kopie()
Dim ws As Worksheet
    If MsgBox("Wilt u tabblad 'overzicht totaal kopieeren?", vbInformation + vbYesNo, "Bevestiging") = vbYes Then
        Sheets("overzicht totaal").UsedRange.Copy
        Workbooks.Open Filename:= _
            "M:\documenten\arbeid\kwaliteitsbeoordeling\2011\overzicht normen per handeling.xlsm" _
            , UpdateLinks:=3
        On Error Resume Next
        Set ws = ActiveWorkbook.Worksheets("overzicht totaal")
            If Err = 0 Then
                Application.DisplayAlerts = False
                ActiveWorkbook.Sheets("overzicht totaal").Delete
                Application.DisplayAlerts = True
            End If
        On Error GoTo 0
        Sheets.Add After:=Sheets(Sheets.Count)
            With ActiveSheet.Cells(1, 1)
                .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
                .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
            End With
        Sheets("Blad1").Select
        Sheets("Blad1").Name = "Blad1"
        Range("A4:B4").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Blad1").Select
        Sheets("Blad1").Name = Range("c4")
        Range("X16").Select
        Application.CutCopyMode = False
        ActiveWindow.Close True
        Range("A1").Select
    End If
End Sub

Dat laatste gedeelte snap ik echter niet helemaal wat je bedoeling hiervan is :confused:
 
hij loopt vast op dit stukje

Code:
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False

Wat ik wil is het tabblad "overzicht totaal" kopieer ik naar het bestand "overzicht normen per handeling.xlsm" en vervolgens verander ik de tabnaam van het tabblad "overzicht totaal" in de waarde van cel c4.

Mogelijk dat dit wat minder omslagtiger kan dan wat ik op dit moment doe.

Ariën
 
Code:
Sub kopie()
Dim ws As Worksheet
    If MsgBox("Wilt u tabblad 'overzicht totaal kopieeren?", vbInformation + vbYesNo, "Bevestiging") = vbYes Then
        Workbooks.Open Filename:= _
            "M:\documenten\arbeid\kwaliteitsbeoordeling\2011\overzicht normen per handeling.xlsm" _
            , UpdateLinks:=3
        On Error Resume Next
        Set ws = ActiveWorkbook.Worksheets("overzicht totaal")
            If Err = 0 Then
                Application.DisplayAlerts = False
                ActiveWorkbook.Sheets("overzicht totaal").Delete
                Application.DisplayAlerts = True
            End If
        On Error GoTo 0
        ThisWorkbook.Sheets("overzicht totaal").UsedRange.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
            With ActiveSheet
                .Cells(1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
                .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
                .Name = .Range("C4").Value
            End With
        Application.CutCopyMode = False
        ActiveWindow.Close True
        Range("A1").Select
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan