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

Copyeren werkblad met VBA

Status
Niet open voor verdere reacties.

weewee

Gebruiker
Lid geworden
30 sep 2012
Berichten
31
Goeden avond.
Ik wil de werkblad Invulblad kaarten copyeren met VBA achter een lege tapblad Begin.
Dit copyeren en de datum uit het Invulblad gaat goed, maar ik krijg het niet voor elkaar dat de copy tapblad direct achter tapblad begin komt.
Wie kan mij hiermee helpen. hieronder de VBa code.
Sub Invulbladkaarten()
Dim iRij As Integer
Dim Wbl As Worksheet
Dim C As Range
iRij = 2
iKol = 0
On Error Resume Next
With Worksheets("Invulbladkaarten").Range("1:1")
Set D = .Find(Date, LookIn:=xlValues)
If D Is Nothing Then
iKol = Worksheets("Invulbladkaarten").Cells(1, "AL").End(xlToLeft).Column + 1
Worksheets("Invulbladkaarten").Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Left(Cells(4, 5).Value, 20)
Worksheets("Jaaroverzicht").Cells(1, iKol) = Cells(4, 5)
End If
End With
Sheets("Invulbladkaarten").Select
Range("E4:G4,C7:E107").Select
Selection.ClearContents
Range("C7").Select

End Sub

Bij voorbaat dank.

m.vr.gr.

Willem Witwerts
 
De code is niet te lezen zonder codetags.
Helaas neem ik daar verder ook geen moeite voor.

Ik heb je vraag wel gelezen, dus was het eenvoudig om iets te zoeken om een poging te doen voor een oplossing.
Code:
[COLOR=#333333]After:=Worksheets("Begin")[/COLOR]
 
Macro doet niet wat ik wil

Goede avond HSV

Invulbladkaarten kopieeren plus datum plaatsen gaat goed.
Maar ik wil iedere kopie van invulbladkaarten achter tapblad Begin hebben.
Alle kopieen moeten tussen Begin en Einde komen.
Het lukt mij niet om dit voor elkaar te krijgen.
Heb bijlage meegestuurd.
Zou je er nog even naar willen kijken.

Alvast bedankt

m.vr.gr.

Willem
 

Bijlagen

Zoiets
Code:
Sub Invulbladkaarten()
  With Sheets("Invulbladkaarten")
    '.Copy Sheets("Einde") 'voor Einde
    .Copy , Sheets("Begin") 'na begin
    ActiveSheet.Name = [E4]
    .Range("E4:G4,C7:E107").ClearContents
    Application.Goto .Range("C7")
  End With
End Sub
Je kan eventueel nog een controle inbouwen of een bladnaam al bestaat.
 
Bedank VenA

Dit is wat ik wou hebben.
Ik ben een beginneling in VBA en zou niet weten hoe ik een controler moet inbouwen.

Nogmaals bedank.

Willem
 
Dat kan bv zo

Code:
Sub Invulbladkaarten()
  With Sheets("Invulbladkaarten")
    If IsError(Evaluate("'" & Format(.[E4], "d-m-yyyy") & "'!A1")) Then
      '.Copy Sheets("Einde") 'voor Einde
      .Copy , Sheets("Begin") 'na begin
      ActiveSheet.Name = [E4]
      .Range("E4:G4,C7:E107").ClearContents
      Application.Goto .Range("C7")
     Else
     MsgBox "tab bestaat al"
    End If
  End With
End Sub
 
VenA

Nogmaals hartelijke dank voor de VBA, hiermee kan ik verder.

m.vr.gr.

Willem
 
VenA

Je VBA werk perfect maar wanneer ik geen datum in geef krijg je een fout melding.
Is het ook mogelijk om hiervoor een extra controler in te bouwen.

m.vr.gr

Willem
 
Code:
 With Sheets("Invulbladkaarten")
    [COLOR=#FF0000][B]if .[E4] = "" then exit sub[/B][/COLOR]
    If IsError(Eval....
 
Ginger,

Ik ben een leek in VBA

Waar moet je code er tussen geplaatst worden.
Heb al verschillende mogelijkheden geprobeerd.

Willem
 
Weewee, ik gokte dat het zo wel duidelijk zou zijn. :D
Heb je dit al ingezet als derde regel in de procedure van V&A? Het gaat uiteraard alleen om die rode regel die je moet tussenvoegen in de bestaande regels zoals je die al hebt staat (en ik dus al richtlijn aangaf met de zwarte regels).
 
De syntax [A1] is een stuk langzamer dan gewoon gebruik maken van het object model: Range("A1")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan