xlPasteFormulas werkt niet

Status
Niet open voor verdere reacties.

Killerclown

Gebruiker
Lid geworden
30 dec 2007
Berichten
181
Dag iedereen,

Ik gebruik onderstaande code om een nieuw blad te creëren in Excel. (kopieren van het vorige blad)
Nu zit ik met het probleem dat de formules in cellen F11 tot F69 niet meegekopieerd worden. Nochtans gebruik ik de functie xlPasteFormulas.
Ik zie niet waar de fout zit.

Kan iemand mij verder helpen?

Alvast dank.


Code:
Private Sub Nieuwblad()
    
' NIEUWE WAARDEN - CREATE NEW SHEET
    
     Dim MyYear
     Dim NieuwLotnummer
     Dim OudLotnummer
     Dim Nieuwblad
     Dim Oudblad
     Dim oSheet As Worksheet
     Dim nsheet As Worksheet
     MyYear = Year(TxtDatum.Value) & ""
     NieuwLotnummer = TxtNieuwLotnummer.Value & ""
     OudLotnummer = TxtOudLotnummer.Value & ""
     Nieuwblad = MyYear + " Lot " + NieuwLotnummer
     Oudblad = ActiveSheet.Name
     
  On Error Resume Next
    oSheet = ActiveSheet.Name
        If oSheet <> nsheet Then
            ActiveSheet.Copy after:=ThisWorkbook.Sheets(Sheets.Count)
            ActiveSheet.Name = Nieuwblad
            Sheets(Oudblad).Activate
            Range("A1", "S93").EntireRow.Copy
            Sheets(Nieuwblad).Activate
            Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ActiveSheet.Paste
            Range("F4:H6").ClearContents
            Range("C3:C5").ClearContents
            Range("C11:M69").ClearContents
            Range("B76:R200").ClearContents
            Range("K5").ClearContents
 
            Set oSheet = Nothing
            On Error GoTo 0
 
        Else 'Does exist
           'MsgBox "Sheet 1 does exist"
            Sheets(Oudblad).Activate
            Set oSheet = Nothing
            On Error GoTo 0

        End If

End Sub
 
Heb je hier een voorbeeldbestandje bij? Bij het declareren ben ik de weg al kwijt.
 
hoi,

je copieerd en plakt alles en daarna maak je alles leeg?
Code:
 ActiveSheet.Paste
            Range("F4:H6").ClearContents
            Range("C3:C5").ClearContents
           [COLOR="#FF0000"] Range("C11:M69").ClearContents[/COLOR]
            Range("B76:R200").ClearContents
            Range("K5").ClearContents
 
Kan het zijn dat de code waar je de vraag over stelt niet in het voorbeeldje staat?
 
Dag Mde

Daar zat inderdaad de fout. Ik heb daar wel honderd keer overgekeken...man man man...

ik heb het aangepast naar:

Code:
Range("C11:E69").ClearContents
Range("G11:M69").ClearContents

en dus die ene kolom er uitgelaten.

Honderdmaal dank!!!

@Vena: de code staat in de userform FrmLot Private Sub Nieuwblad()
 
De code heb ik inmiddels gevonden tussen het hele breiwerk aan onnodige regels. Volgens mij kan je de hele initialisatie reduceren tot zoiets.
Code:
Private Sub FrmLot_Initialize()
Dim ws As Worksheet
Dim pwd As String

pwd = "xxx" ' Put your password here

    For Each ws In Worksheets
        ws.Unprotect pwd
    Next ws

    For Each tb In Me.Controls
        If TypeName(tb) = "TextBox" Then
            tb.Value = ""
            If Not tb.Name = "TxtNieuwLotnummer" Then tb.Locked = True
        End If
    Next tb
    With TxtNieuwLotnummer
        .SetFocus
        .BackColor = RGB(240, 230, 140)
    End With
    
    TxtDatum.Value = Format(Date, "dd-mm-yyyy")
    TxtOudLotnummer.Value = Range("C3")
    
    CmdOpslaan.Visible = True
    CmdChange.Visible = False
    Label19.Visible = False
    Label20.Visible = False
    TxtReden.Visible = False
    TxtNaam.Visible = False
End Sub

En de rest van de code zou ik als ik jou was ook nog eens goed onder de loep nemen.
 
Dag VenA,

Alvast dank om dat stukje code aan te passen.

Ik weet dat ik waarschijnlijk soms het een beetje langdradig maak maar ik ben niet zo ervaren in VBA. Ik heb dit op mijn eigen geleerd en ken enkel wat basis. Maar ik trek mijn plan in VBA :) (alleen wat in het lang :))

mvg.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan