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

Aanroepen CommandButton_1(Click)

Status
Niet open voor verdere reacties.

henkvanerp

Gebruiker
Lid geworden
13 jun 2007
Berichten
21
In Office Excel 2021 werkt onderstaand script prima.
Na het uitvoeren van de macro wordt button 1 geactiveerd. - ApplicationRun ThisWorkbook, Sheets("Invoer").CommandButton1_Click
Echter nu blijkt dat in Office Excel 2016 dit niet werkt.
weet iemand hoe je vanuit een macro een CommandButton1_click kan activeren?



Sub Voorbeeldbestand()
' Voorbeeldbestand Macro

Application.ScreenUpdating = False
Sheets("Help").Select
Range("A20:F79").Select
Selection.Copy
Sheets("Invoer").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G4").Select
ApplicationRun ThisWorkbook, Sheets("Invoer").CommandButton1_Click

End Sub
 
Laatst bewerkt:
Je Sub heet Voorbeelbestand, maar het voorbeelbestand is er niet.
Tevens kan deze regel sowieso niet werken:
Code:
ApplicationRun ThisWorkbook, Sheets("Invoer").CommandButton1_Click
Het is Application.Run en de komma moet een punt zijn.
Ook is die regel overbodig omdat je een macro direct kan aanroepen in hetzelfde document.
Die .Select opdrachten zijn ook niet nodig.

Kopiëren en plakken kan sowieso veel eenvoudiger:
Code:
Sheets("Invoer").Range("A4:F79") = Sheets("Help").Range("A4:F79").Value

Als je code plaatst, zet deze dan in code tags.
 
Laatst bewerkt:
Aangepast.

Ik had een fout gemaakt bij het overnemen van het script.
Maar
ApplicationRun ThisWorkbook, Sheets("Invoer").CommandButton1_Click
Werkt wel in Office 2021 (misschien ook 2019) maar niet in Office 2016.
 
Het enige dat je nodig hebt is dit:
Code:
Sub Voorbeeldbestand()
    Sheets("Invoer").Range("A4:F79") = Sheets("Help").Range("A4:F79").Value
    Sheets("Invoer").CommandButton1_Click
End Sub
Daarbij haal je bij Private Sub CommandButton1_Click() het woord Private weg.

En deze regel werkt in geen enkele versie:
Code:
ApplicationRun ThisWorkbook, Sheets("Invoer").CommandButton1_Click
Tenzij je zelf in een module een sub hebt gemaakt die ApplicationRun heet.
Maar dat heb je er niet bij verteld.
En ook dan moet het woord Private weg.
 
Laatst bewerkt:
Zet de code eens in de module waar de CommandButton ook staat.
Dan volstaat:
Code:
CommandButton1_Click

In Excel 2007 werkt het zoals @Edmoor voorstelt, echter in Office 365 gaat het nu zo.
Code:
Sheets("blad1").CommandButton1 = True
Blad1.CommandButton1 = true

Onderstaande werkt dus niet in Office 365.
Code:
Sheets("blad1").CommandButton1_Click 'werkt niet meer in 365
blad1.CommandButton1_Click
 
Laatst bewerkt:
Wat ik zei werkt hier prima in Office 365.
Jouw methode ga ik ook eens proberen :)
 
Hieruit kan ik dus concluderen dat er versieverschillen zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan