Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: koppeling macro mislukt  (gelezen 6589 keer)

0 leden en 1 gast bekijken dit topic.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
koppeling macro mislukt
« Gepost op: 15 september 2007, 11:42:59 »
Hallo,

ik zit met een probleempje.

Office XP NL

in een Excel Werkboek (Kas2006.xls) heb ik een aantal macro's, alle macro's staan in een module.
Ik maakte een kopie van Kas2006.xls (kopie van kas2006.xls) en wilde deze hernoemen in Kas2007.xls.
Tot daar geen probleem.
In mijn werkbalk staan een aantal knoppen die de verschillende macro's activeren. Daar deze nog verwijzen naar Kas2006.xls heb ik met Aanpassen... (van de werkbalk), knop selecteren, Selectie wijzigen, Macro toewijzen... de knoppen gelinkt aan de macro's in Kas2007.xls.

Dit werkt prima. Tot ik mijn werkboek afsluit en opnieuw open. Dan zijn al de toewijzingen weer veranderd in Kas2006.xls.

Mijn persnlk.xls staat onder C:\Documents and settings\Mijnnaam\Application data\Microsoft\Excel\XLSTART (er staat ook nog een Excel10.xlb in dezelfde map, en onder de map Excel in dezelfde root.

Al vanalles geprobeert, maar die kat komt weer.....

Iemand enige suggesties.

Bij voorbaat dank  ;)

:) SoftAid :)       


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: koppeling macro mislukt
« Reactie #1 Gepost op: 16 september 2007, 13:28:13 »
SoftAid, ik heb je probleem geprobeerd na te splen. Maar bij mij gaat het gewoon goed.
Daarom toch wat vragen... Heb je het bestand 'Kas2006.xls' via save as (opslaan als) gedaan of heb je via je explorer (verkenner) een kopie getrokken?
En die extra knoppen... Horen die bij het workbook en verdwijnen ze dus als je het workbook sluit? Of staan ze d'r al als je Excel opstart?

Groet, Leo
______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: koppeling macro mislukt
« Reactie #2 Gepost op: 16 september 2007, 14:02:17 »
Hallo RedHead,

De kopie is gemaakt via verkenner.

De extra knoppen verschijnen ik elk werkboek of als ik Excel zelf opstart,  maar ze zijn enkel actief in Kas2006.xls, omdat de macro's in een module van Kas2006.xls staan.

Ik vermoed dus ook dat het te maken heeft met dat de knoppen in perslk.xls staan, en de macro's in Kas2006.xls.

:) SoftAid :)       

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline spyder

  • Ambassadeur
  • *****
  • Berichten: 5.265
  • PC probleem zit meestal tussen scherm en rugleun
Re: koppeling macro mislukt
« Reactie #3 Gepost op: 19 september 2007, 18:18:49 »
Hoi SoftAid,

Heb je de code achter de knoppen ook aangepast? Ik vermoed dat er in de code achter deze knoppen effectief verwezen word naar kasboek2006. DE kans bestaat dat je deze dan ook moet aanpassen naar 2007.
Heb je dit al eens gecontroleerd?
Windows 7 Ultimate Unknow NLD
Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz 2934
P7P55D-E PRO
NVIDIA GeForce GTX 470 1280MB 1680 x 1050
HD 1 : INTEL SSDSA2M080G2GC (80GB)
HD 2 : ST31500341AS (1,5TB)
HD 3 : ST320006 41AS (2TB)
browser: Maxthon  mail:Thunderbird AV: Bitdefender
Scarlet user

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: koppeling macro mislukt
« Reactie #4 Gepost op: 20 september 2007, 21:08:38 »
Hi, SoftAid,

Misschien kan je een bestandje uploaden met 1 knop en 1 testmacrootje.
Ik heb dit soort problemen ooit ook gehad en ken enkele mogelijke oorzaken. Het is echter te veel gissen, zonder testfile.

beste groeten en fijne avond verder,
Erik

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: koppeling macro mislukt
« Reactie #5 Gepost op: 20 september 2007, 23:33:40 »
Hallo Eric,

Citaat
Misschien kan je een bestandje uploaden met 1 knop en 1 testmacrootje.

Was het maar zo simpel, ik had het al lang gedaan  :'(

Ik heb een kopie gemaakt van Kas2006.xls in Verkenner, Kopie van Kas2006.xls, maar de macro's worden dan niet in mee gecopïeerd. Als ik die kopie open en op een van de knoppen druk, dan opent Kas2006.xls ook, automatisch. Dit omdat er in de kopie elke knop gekoppeld is aan een  macro in Kas2006.xls.

Als ik én Kas2006.xls én een nieuw bestand open, en ik kopïeer de werkbladen, dan gaan de macro's ook niet mee.

Een testfile, ja. Maar hoe moet ik die maken zodat de macro's ook worden gecopieerd.

De macro's staan allemaal in een module in Kas 2006.xls.

De knoppen staan al in de werkbalk, ook als ik een blanco Excel (Map1.xls) open.

En daar wringt het nu juist, denk ik.

De knoppen in de knoppenbalk staan in (waarschijnlijk) een xlb-bestand dat automatisch opgestart wordt bij het starten van Excel. De Macro's daarentegen staan enkel in Kas2006.xls.

binnenkort moet ik het bestand hernoemen in 2008  ;D

:) SoftAid :)       


PS: eigenlijk zou ik ook graag hebben dat die knoppen enkel werden getoont als ik Kas2006.xls (en hopelijk Kas2007.xls) open. In andere werkboeken zijn de functies van deze knoppen niet van toepassing.
 
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: koppeling macro mislukt
« Reactie #6 Gepost op: 21 september 2007, 12:21:50 »
Oh, natuurlijk, de knoppen staan op een werkbalk! 'k Had kunnen beseffen dat je wel uit jezelf een testje had geplaats.

Het is niet zo moeilijk om een knop of menuutje te laten verschijnen enkel wanneer het werkboek zelf actief is. Wat wil je als tekst op de knop, of had je liever een menu met enkele items? Welke subroutines worden er aangeroepen: geef eventueel schema per menuitem.

Werkschema:
sub: menu of knop aanmaken
sub: menu of knop verwijderen
laatste sub moet aangeroepen worden vanuit de eerste om "gerepeteerde" menu's te vermijden
workbook-activate and workbook-deactivate roepen de menusub aan

fijne dag verder en goe weekend!
Erik

('k Heb nu 3-4 dagen erg weinig tijd. Werkwijze Te veel projecten tegelijk.)

Offline spyder

  • Ambassadeur
  • *****
  • Berichten: 5.265
  • PC probleem zit meestal tussen scherm en rugleun
Re: koppeling macro mislukt
« Reactie #7 Gepost op: 21 september 2007, 20:36:26 »
Hoi SoftAid,

Kijk eens in mogelijke volgende lokaties.
Van hieruit word de code opgestart die je in je persoonlijke mappen (prsnlk.xls) geplaatst hebt.

C:\Program Files\Microsoft Office\Office10\Xlstart
C:\Windows\Application Data\Microsoft\Excel\Xlstart
C:\Winnt\Profiles\gebruikersnaam\Application Data\Microsoft\Excel\Xlstart

spyder

 
Windows 7 Ultimate Unknow NLD
Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz 2934
P7P55D-E PRO
NVIDIA GeForce GTX 470 1280MB 1680 x 1050
HD 1 : INTEL SSDSA2M080G2GC (80GB)
HD 2 : ST31500341AS (1,5TB)
HD 3 : ST320006 41AS (2TB)
browser: Maxthon  mail:Thunderbird AV: Bitdefender
Scarlet user

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: koppeling macro mislukt
« Reactie #8 Gepost op: 21 september 2007, 21:35:16 »
Kijk eens in mogelijke volgende lokaties.
Van hieruit word de code opgestart die je in je persoonlijke mappen (prsnlk.xls) geplaatst hebt.
Werk met Office XP NL (2002 dus)
Citaat
C:\Program Files\Microsoft Office\Office10\Xlstart
Heb hier enkel C:\Program files\Office\met 4 certificaciebestanden en een submap "1033" met 4 help-files
Citaat
C:\Windows\Application Data\Microsoft\Excel\Xlstart
 
Die map bestaat niet bij mij. C:\Documents and settings\theo\Application data\Microsoft\Excel\XLSTART wel, en daar staat nu niets meer in. Daar, in de map Excel heb ik nu nog Excel10.xlb en Persnlk.xls staan.
Citaat
C:\Winnt\Profiles\gebruikersnaam\Application Data\Microsoft\Excel\Xlstart
Een map Winnt heb ik niet op deze computer, sorry...

in mijn knoppenbalk heb ik dus ooit een knop bijgezet (meerdere) en mijn vraag is nu: waar, in welk bestand wordt deze layout bewaard, want Excel start op met de knoppen zichtbaar, eender hoe ik Excel opstart. Welk bestand wordt daarvoor aangesproken?

Aan Eric,

bedankt voor de raad ivm de knoppen via een macro zichtbaar te maken in de gewenste werkboeken, maar het kopïeren van de hele map (en werkend houdend) is op dit ogenblik mijn eerste prioriteit.

:) SoftAid :)       
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: koppeling macro mislukt
« Reactie #9 Gepost op: 21 september 2007, 21:55:26 »
SoftAid, ik ben benieuwd naar het resultaat van het volgende... Verander in Exporer (verkenner) de naam van het huidige bestand 'Kas2007.xls' eens naar 'Kas2007.xls.old' (negeer de melding dat het bestand onbruikbaar kan worden). Open dan vervolgens het oude bestand Kas2006.xls en doe dan een Save As (opslaan als) vanuit Excel zelf. Ik gok dat de koppelingen dan wel netjes worden meegenomen...

Groet, Leo
______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: koppeling macro mislukt
« Reactie #10 Gepost op: 21 september 2007, 22:10:00 »
Hallo RedHead,

bedankt om je om mijn probleempje te bekommeren.

Citaat
Verander in Exporer (verkenner) de naam van het huidige bestand 'Kas2007.xls' eens naar 'Kas2007.xls.old'

Bedoel je: "Verander in Exporer (verkenner) de naam van het huidige bestand 'Kas2006.xls' eens naar 'Kas2006.xls.old' ?

Want Kas2007.xls is wat ik zou moeten bereiken, maar bestaat nog steeds niet.

Maar je suggestie om het bestand Kas2006.xls te openen, en vandaaruit een Save As... te doen naar Kas2007.xls is wel prima gelukt.
 8) :) Thanks.

Hier kan ik mee leven  ;D
Als het nu ook nog mogelijk is om de knoppen enkel in Kas2006.xls en Kas2007.xls te laten verschijnen, liefst zonder bijkomende macro's, dan zou mijn dag niet meer stuk kunnen  :P

:) SoftAid :)       



Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: koppeling macro mislukt
« Reactie #11 Gepost op: 23 september 2007, 17:38:26 »
Citaat
bedankt voor de raad ivm de knoppen via een macro zichtbaar te maken in de gewenste werkboeken, maar het kopïeren van de hele map (en werkend houdend) is op dit ogenblik mijn eerste prioriteit.
tuurlijk, maar dat was inbegrepen in de oplossing

Die knoppen hebben het probleem enigszins verwarrend gemaakt, want het ziet er voor mij naar uit dat er nog andere oplossingen mogelijk waren...
Maar goed, terwijl het nu werkt zoals je wil kunnen we eens kijken hoe de knoppen "exclusief" voor het specifieke werkboek kunnen verschijnen.

Even antwoord nodig op
Citaat
Wat wil je als tekst op de knop, of had je liever een menu met enkele items? Welke subroutines worden er aangeroepen: geef eventueel schema per menuitem.
om aan de slag te kunnen.

beste groeten,
Erik

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.181
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: koppeling macro mislukt
« Reactie #12 Gepost op: 23 september 2007, 23:18:17 »
Hallo Erik,

nu het probleem van het kopïeren van de map MET macro's opgelost is: ik heb één knop, en een menu met 11 menu items die elk naar een macro verwijzen.

Het menu heet Klanten, en in dit menu zitten 11 van mijn voornaamste klanten met hun specifieke facturatie eisen in de macro's vervat.

Probleem blijft dus dat ik de werkings-structuur van Excel niet goed begrijp, waar het onderscheid wordt gemaakt tussen Werkblad-gebonden knoppen of Excel gebonden knoppen.

Het stoort niet echt dat deze menu-opdracht en knop in elk welkblad in de werkbalk verschijnt, maar als het gemakkelijk anders kan, dan mag het.

Ik heb getracht het werkboek zodanig te vereenvoudigen dat ik het kon aanhangen als bijlage, maar er zijn zoveel koppelingen dat ik telkens op foutmeldingen stuit, als ik ergens code weg haal. Het werkblad is in 2000 gemaakt, en sindsdien altijd maar uitgebreid en aangepast. Het is ook mijn hele boekhouding, en kan mij daar niet al te veel misstappen permitteren.

Als er geen eenvoudige manier is om het doel te bereiken, dan laat ik het liever zo.

alvast bedank iedereen die heeft geholpen  :)

:) SoftAid :)       
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: koppeling macro mislukt
« Reactie #13 Gepost op: 24 september 2007, 22:07:34 »
Om een werkbalk te maken met knoppen, 1 per subroutine, die enkel zichtbaar is, wanneer het werkboek actief is, kan je dit doen:

ThisWorkbook module
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars(CmdBarName).Visible = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
delete_commandbar
End Sub

Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars(CmdBarName).Visible = False
End Sub

Private Sub Workbook_Open()
CmdBarName = "Exclusive CommandBar"
create_commandbar
End Sub

"gewone module"
Option Explicit

Public CmdBarName As String

Dim CmdBar As CommandBar

Sub create_commandbar()
'Erik Van Geit
'070924

delete_commandbar

Set CmdBar = Application.CommandBars.Add(Name:=CmdBarName, Position:=msoBarFloating, MenuBar:=False, Temporary:=True)

    With CmdBar
       
        With .Controls.Add(Type:=msoControlButton)
        .Caption = "Macro1"
        .Style = msoButtonCaption
        .TooltipText = "Macro1"
        .OnAction = "Macro1"
        End With
   
        With .Controls.Add(Type:=msoControlButton)
        .Caption = "Macro2"
        .Style = msoButtonCaption
        .TooltipText = "Macro2"
        .OnAction = "Macro2"
        End With
   
        With .Controls.Add(Type:=msoControlButton)
        .Caption = "Macro3"
        .Style = msoButtonCaption
        .TooltipText = "Macro3"
        .OnAction = "Macro3"
        End With
   
        With .Controls.Add(Type:=msoControlButton)
        .Caption = "Macro4"
        .Style = msoButtonCaption
        .TooltipText = "Macro4"
        .OnAction = "Macro4"
        End With

    .Visible = True
    End With

End Sub

Sub delete_commandbar()

On Error Resume Next
Application.CommandBars(CmdBarName).Delete
On Error GoTo 0

End Sub
Het is ook mogelijk een "lijst" van opdrachten te maken in plaats van allemaal knoppen naast elkaar.

Persoonlijk vind ik het handiger om alle informatie, zoals macronamen, buttoncaptions, tooltips en andere nuttige gegevens, in een verborgen werkblad te zetten en dit te lezen vanuit de macro in een "loopje". Dat is overzichterlijker.

goeienacht!
Erik

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: koppeling macro mislukt
« Reactie #14 Gepost op: 24 september 2007, 22:18:11 »
Techniek met het "loopje" lezend van een werkblad:

Stel dat je een werkblad hebt met als naam MenuSheet.
   A       B           C       
 1 Caption ToolTipText OnAction
 2 Macro1  Macro1      Macro1   
 3 Macro2  Macro2      Macro2   
 4 Macro3  Macro3      Macro3   
 5 Macro4  Macro4      Macro4   
 6 Macro5  Macro5      Macro5   
 7 Macro6  Macro6      Macro6   
 8 Macro7  Macro7      Macro7   
 9 Macro8  Macro8      Macro8   
10 Macro9  Macro9      Macro9   
11 Macro10 Macro10     Macro10 

MenuSheet

[Table-It] version 07 by Erik Van Geit

Dan kan je de menusub zo schrijven:
Option Explicit

Public CmdBarName As String

Dim CmdBar As CommandBar

Sub create_commandbar()
'Erik Van Geit
'070924
Dim LR As Long
Dim r As Long
Dim MenuSht As Worksheet

Set MenuSht = Sheets("MenuSheet")

LR = MenuSht.Cells(Rows.Count, 1).End(xlUp).Row
delete_commandbar

Set CmdBar = Application.CommandBars.Add(Name:=CmdBarName, Position:=msoBarFloating, MenuBar:=False, Temporary:=True)

    With CmdBar
        For r = 2 To LR
            With .Controls.Add(Type:=msoControlButton)
            .Caption = MenuSht.Cells(r, 1)
            .Style = msoButtonCaption
            .TooltipText = MenuSht.Cells(r, 2)
            .OnAction = MenuSht.Cells(r, 3)
            End With
        Next r
   
    .Visible = True
    End With

End Sub
Andere subroutines (delete_menu & ThisWorkbookmodule) blijven hetzelfde als in mijn vorige reply.

goeienacht - nu echt :-)
Erik

 


www.combell.com