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

Knop voor macro in ander tabblad

Status
Niet open voor verdere reacties.

jolly01

Gebruiker
Lid geworden
12 apr 2009
Berichten
486
In de bijlage een macro verbonden aan de knop "overzetten" in tabblad 2
De knop werkt alleen in het werkblad waar de knop zich bevindt. Nou wil ik dat de knop "overzetten" in tabblad 1 de macro in tabblad 2 in werking zet.

Hoe krijg ik dat voorelkaar?
 

Bijlagen

Volgens mij moet je de macro gewoon opnieuw opnemen en dan uitgaan van Tabblad 1

of

Sheets("2").Select

of

Sheets("1").Select

overal invoegen
 
Bedankt voor je reactie Rooie Darp.
De macro moet in tabblad 2 worden uitgevoerd en in tabblad 1 met de knop geactiveerd.

Sub Callreason()
'
' Callreason Macro
' De macro is opgenomen op 17-07-2011 door xxx.
'

'
Range("D7").Select
Selection.Copy
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H7").Select
Application.CutCopyMode = False
Selection.Copy
Range("G7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E12:E14").Select
Application.CutCopyMode = False
Selection.Copy
Range("D12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I17").Select
Application.CutCopyMode = False
Selection.Copy
Range("D17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I20").Select
Application.CutCopyMode = False
Selection.Copy
Range("D20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G17:G18").Select
Application.CutCopyMode = False
Selection.Copy
Range("F17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G20:G21").Select
Application.CutCopyMode = False
Selection.Copy
Range("F20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=3
Range("E23:E24").Select
Application.CutCopyMode = False
Selection.Copy
Range("D23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-3
Range("C11").Select
Application.CutCopyMode = False
Range("C11").Select
ActiveWindow.SmallScroll Down:=0
End Sub

Kan je aangeven hoe Sheets("2").Select in alle bovenstaande regels in te voegen?
 
Code:
Sub Callreason()

With Sheets(2)
    .Range("C7").Value = .Range("D7").Value
    .Range("G7").Value = .Range("H7").Value
    .Range("E12:E14").Copy .Range("D12")
    
    .Range("D17").Value = .Range("I17").Value
    .Range("D20").Value = .Range("I20").Value
    .Range("G17:G18").Copy .Range("F17")
    
    .Range("G20:G21").Copy .Range("F20")
    .Range("E23:G24").Copy .Range("D23")
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Heb jouw aanvulling in inderstaande macro verwerkt Roncancio maar de macro wordt nu nog steeds geactiveerd in het tabblad waar de knop zich bevindt.

Wat doe ik fout?

Code:
Sub Callreason()
'
' Callreason Macro
' De macro is opgenomen op 17-07-2011 door xxx.
'

'
With Sheets(2)
    Range("B11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("H7").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E12:E14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D12").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D20").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G17:G18").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G20:G21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F20").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E23:E24").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D23").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("C11").Select
End With
End Sub
 
Even snel, heb niet veel tijd:
Code:
Sub Callreason()
'
' Callreason Macro
' De macro is opgenomen op 17-07-2011 door xxx.
'

'
       [B]Sheets("2").Select[/B]
Range("D7").Select
Selection.Copy
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H7").Select
Application.CutCopyMode = False
Selection.Copy
Range("G7").Select
 
Laatst bewerkt door een moderator:
jolly01,

Je hoef alleen de macro van "Roncancio" te gebruiken.
Test hem desnoods even op een copy van je file (voor de veiligheid)
Code:
Sub Callreason()

With Sheets(2)
    .Range("C7").Value = .Range("D7").Value
    .Range("G7").Value = .Range("H7").Value
    .Range("E12:E14").Copy .Range("D12")
    
    .Range("D17").Value = .Range("I17").Value
    .Range("D20").Value = .Range("I20").Value
    .Range("G17:G18").Copy .Range("F17")
    
    .Range("G20:G21").Copy .Range("F20")
    .Range("E23:G24").Copy .Range("D23")
End With

End Sub
 
Laatst bewerkt:
Het is gelukt Rooie Darp :thumb:

Het gaat er dus om dat éérst het juiste tabblad wordt geopend met:

Code:
Sheets("2").Select
:rolleyes:
 
Zoals ExcelAmateur al aangaf wat mijn reactie geen aanvulling maar een vervanging van de gehele code.
Ik adviseer om een .Select te gebruiken omdat dit vertragend werkt en (omdat je geen Application.ScreenUpdating = False gebruikt) in een disco-effect kan resulteren.

Met vriendelijke groet,


Roncancio
 
Bedankt voor je aanvulling Roncancio. Ik heb helaas (nog) te weinig kennis van VBA om jouw input te begrijpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan