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

Macro doet het niet

Status
Niet open voor verdere reacties.

verhoog

Terugkerende gebruiker
Lid geworden
7 nov 2001
Berichten
3.143
Ik heb een button aangemaakt met de volgende macro erachter:

Private Sub CommandButton1_Click()

Sheets("E1").Select
Range("G25:G32").Select
Selection.Copy
Sheets("Sheet1").Select
Range("E4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B1").Select

End Sub

Maar hij doet het niet, hij geeft de error "select method of range class failed" op de tweede regel. Enig idee?
 
Test

Hallo,

Ik heb het bovenstaande getest, hij doet het bij mij wel.

Raar!

Iemand anders een idee?

BasMan
 
Hoi Verhoog,

Staat de programma code in een module (goed)? of in het tabblad van een werkblad (fout)?

Sheets("E1").Range("G25:G32").Copy
Sheets("Sheet1").Range("E4").PasteSpecial Paste:=xlValues

Jeroen
 
Ik denk dat dat het probleem is Jeroen, thx.
 
Als ik de oplossing gevonden heb ja, eerst nog ff testen.
 
Hmm, iets te vroeg gejuicht:

Ik was vergeten te melden dat de code aan een button hangt. Zie hieronder:

attachment.php
 

Bijlagen

  • vba.jpg
    vba.jpg
    86,7 KB · Weergaven: 135
Uit je macro blijkt het eigenlijk wel, maar zou je voor de duidelijkheid toch nog even willen aangeven op welke werkbladen zich bevinden:
1. Range("G25:G32")
2. Range("E4")
3. Range("B1")
En tot slot, in regel 2 staat: Sheets("E1").select
Heet je werkblad "E1" of is er een vergissing gemaakt met range("E1") ?
 
Laatst bewerkt:
Het werkblad dat als eerste geselecteerd wordt heet in idd "E1".

1. Range("G25:G32") slaat op blad E1
2. Range("E4") slaat op cel E4 op blad Sheet 1

Ik heb het als volgt gedaan:

- macro opnemen, toegevoegd aan This Workbook
- alle handelingen uitvoeren
- macro opnemen stoppen
- Command button aangemaakt
- code van opgenomen macro in VBA gekopieerd
- code van de button opgevraagd
- code ingeplakt
- VBA gesloten
- button uitgeprobeerd -> error
 
Probeer dit:
Private Sub CommandButton1_Click()
Sheets("E1").Range("G25:G32").Copy
Sheets("Sheet1").Range("E4").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Application.Goto Reference:=Worksheets("Sheet1").Range("B1")
End Sub

fra.
 
Ha! Geweldig, hij doet het! Maar kun je me alsjeblieft uitleggen waarom mijn eigen macro (die toch met Macro -> Record is gecreëerd) het niet deed? En waarom doet die van jou het dan wel??? :8-0:
 
Het heeft met het wisselen van werkbladen te maken. Bij het uitvoeren van de macro gaat Excel er vanuit dat (in principe) de macro wordt uitgevoerd op het werkblad waarop de button zich bevindt. Merk op dat een van de beantwoorders van je vraag meldde dat bij hem de macro wel werkte. Dat kan bv. te maken hebben met de plaats waar de cursor stond op het moment van uitvoeren. En verder is het (in zijn algemeenheid) bekend dat een macro niet altijd feilloos loopt als hij handmatig is opgenomen (er komen dan vaak nogal wat overtollige dingen in voor).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan