Nieuw Werkblad en daar acties uitvoeren

Status
Niet open voor verdere reacties.

Jeffie85

Gebruiker
Lid geworden
12 jun 2012
Berichten
106
Ben momenteel met een Visual Basic code bezig.
Deze code wil ik in Excel koppelen aan een Opdrachtknop.

Nu heb ik in de code ook geschreven dat er een nieuw document aangemaakt moet worden en dat er gegeven in dat nieuwe document gekopieerd moeten worden.

Dit gaat allemaal goed.

Nu heb ik na deze acties, nog een aantal acties die het script moet uitvoeren, maar dat pikt die niet.
Ik denk dat de code niet snapt dat die in het nieuw aangemaakte Excel document dit moet uitvoeren, dus dan krijg ik een foutmelding.
( heb de code verder ook getest als ik eventjes de code in dat nieuwe document zet, en daar ligt het inderdaad niet aan, die werkt wel )

Dus met onderstaand stukje code; hoe kan ik ervoor zorgen, dat de acties verder gaan in het nieuw gemaakte Excel document?

Code:
Sub Betaallijst()
'
' Betaallijst Macro
'

'
    Columns("A:M").Select
    Selection.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    [B]Range("A2,A3,A4,A5,A6,A7,A23,A24,A45,A46").Select[/B]
    Selection.EntireRow.Delete
    Range("A2:M2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Add Key:=Range("A3:A159") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Blad1").Sort
        .SetRange Range("A2:M159")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Code gaat nog wel iets verder, maar hij loopt dus vast op het dikgedrukte code, want dan weet die denk ik niet dat die in het nieuw gemaakte excel document verder moet gaan...
 
ik denk dat je van de rang (a2:A46) moet maken, waarschijnlijk werk deze dan wel.
ben zelf niet zo een ster in vba, maar normaal in excel werk dit wel..
Perry

kleine aanpassing:

Range("A2:A7").Select
Range("A23:A46").Select
denk dat dit werk, is het proberen waar.
 
Laatst bewerkt:
en achter elke select regel (Selection.EntireRow.Delete)dit plaatsen, zodat het 2 opdrachten wordt
zo als ik al in een vorig bericht vertelde ik ben ook niet zo met VBA op de hoogte, maar probeer altijd met experimenteren of iets lukt.

perry
 
Helaas werkt dat ook niet. De code ziet op 1 of andere manier niet, dat die na het kopieren en plakken in het nieuwe document, in het nieuwe document ook daar de acties moet uitvoeren...

Ja ik waardeer alleen maar het mee denken, tuurlijk !! bedankt...
en hopelijk komen we tot een oplossing :)
 
Ik ben zelf nog even aan het rommelen geweest.
ik heb nu voor elke 'range',
ActiveWorkbook.Worksheets("Blad1").
gezet,

nu doet die het :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan