Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Werkende macro's  (gelezen 9210 keer)

0 leden en 1 gast bekijken dit topic.

Online JeanPierre

  • Oplosser
  • ****
  • Berichten: 800
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Werkende macro's
« Gepost op: 18 maart 2007, 15:56:01 »
Hoi Allemaal,

Nog eens een vraagje, in bijgevoegde file heb ik een paar macro's met sorteerfunctie, bij mij werken die prima maar als ik die naar iemand anders stuur werken de macro's niet en geven blijkbaar een foutmelding, "Named argument not found", ik ben nu benieuwd of die bij jullie werken. Ik heb er wel een paar fictieve namen ingezet hoor.

Bedankt op voorhand,
JP.
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: Werkende macro's
« Reactie #1 Gepost op: 18 maart 2007, 18:10:53 »
Hallo JeanPierre,

Is het goed of is het slecht nieuws voor jou, ik weet het ook niet natuurlijk. Bij mij werken ze perfect.  :D

Echter een vraagje. Gebruiken jullie dezelfde excel versie?

Ik heb de excel uit de office 2003 gebruikt. Mijn ervaring is echter dat daar wel wat veranderingen zijn tegenover de 2002 versie.

Bepaalde zaken die ik zelf onlangs in macro's gestoken had, werkten niet op mijn pc op het werk omdat daar de 2002 op staat.

Edit:

Als de fout zich voordoet, klik dan eens op foutopsporing. De regel waar de fout zich voordoet, wordt getoond. Zo kan je veel gerichter zoeken.

Online JeanPierre

  • Oplosser
  • ****
  • Berichten: 800
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Werkende macro's
« Reactie #2 Gepost op: 18 maart 2007, 18:44:40 »
Ja, B-B, daar heb je wat, voor mij is dit goed nieuws uiteraard, maar ik heb er nog geen erg in gehad de mensen te vragen welke Office dat ze gebruiken, ik gebruik ook de 2003, en dan zou daar het probleem kunnen liggen.
Maar is dat oplosbaar?? ???

Grts,
JP.
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Werkende macro's
« Reactie #3 Gepost op: 18 maart 2007, 20:31:59 »
Hallo, Jean-Pierre,

'k Heb jouw file niet bekeken, maar er is een argument toegevoegd vanaf XP: DataOption:= ...
Dat kan je gerust weglaten.

beste groeten,
Erik

EDIT: k' had je naam verkeerd gespeld, effe aangepast

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: Werkende macro's
« Reactie #4 Gepost op: 18 maart 2007, 20:57:32 »
Ja, B-B, daar heb je wat, voor mij is dit goed nieuws uiteraard, maar ik heb er nog geen erg in gehad de mensen te vragen welke Office dat ze gebruiken, ik gebruik ook de 2003, en dan zou daar het probleem kunnen liggen.
Maar is dat oplosbaar?? ???

Grts,
JP.

 :-X Ik zal morgen eens in 2002 proberen. Morgen avond zal ik hopelijk het resultaat kunnen posten.

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Werkende macro's
« Reactie #5 Gepost op: 18 maart 2007, 21:43:32 »
JP, ik gebruik thuis nog officeXP (=2002) en je code doet het gewoon...
Ik ben dus bang dat je collega's nog met een office97 zitten. Vanaf office2000 zit 't qua compabiliteit van VBA meestal wel goed. (ik heb op mijn werk ook voor een ander bedrijf - waar wij mee samenwerken - een .xls geschreven die bij updates regelmatig vast loopt op VBA omdat zij nog met office97 werken :'()

Je kan trouwens in ieder blokje het 1e Range().select verwijderen. Dat is overbodig. En zomaar als goed bedoelde tip... Geef je subjes de naam mee voor wat ze moeten doen ipv sort1, sort2 enzovoorts. Of zet er met een commentaarregeltje de werking bij. Dat houdt je code leesbaar als je het gaat uitbreiden. 8)

Groet, Leo
______________________________

Groet, Leo

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Werkende macro's
« Reactie #6 Gepost op: 18 maart 2007, 22:06:19 »
JP, Erik had het volgens mij bij het juiste eind... ;D Laat het laatste argument weg uit je listing en het zal als een zonnetje draaien. Waarschijnlijk heb ik dan ook gelijk dat je collegae nog office97 gebruiken.

Ik vond dit na ff Googelen op het onderwerp: 'sort arguments in office 97 Excel VBA'

Groet, Leo
______________________________

Groet, Leo

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: Werkende macro's
« Reactie #7 Gepost op: 18 maart 2007, 22:18:58 »
JP, ik gebruik thuis nog officeXP (=2002) en je code doet het gewoon...
Ik ben dus bang dat je collega's nog met een office97 zitten. Vanaf office2000 zit 't qua compabiliteit van VBA meestal wel goed. (ik heb op mijn werk ook voor een ander bedrijf - waar wij mee samenwerken - een .xls geschreven die bij updates regelmatig vast loopt op VBA omdat zij nog met office97 werken :'()

De problemen waar ik tegen aan liep was het wijzigen van de achtergrondkleur in een beveiligd blad in beveiligde cellen. In 2003 werkte dit perfect (opmaak beveiligde cellen toegestaan) en in 2002 weigerde hij gewoon de cellen te wijzigen.

Citaat
Geef je subjes de naam mee voor wat ze moeten doen ipv sort1, sort2 enzovoorts. Of zet er met een commentaarregeltje de werking bij. Dat houdt je code leesbaar als je het gaat uitbreiden. 8)

2 van de basisregels van programmeren. Of het nu vb(a) C# C++ Java of wat dan ook is, je moet het gewoon doen. Ook een mooie uitlijning kan al veel doen in de duidelijkheid van je code. Ook een coherente naamgeving is van belang. Maar dit wordt meestal wel ten schade en schande geleerd.


Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Werkende macro's
« Reactie #8 Gepost op: 18 maart 2007, 22:22:33 »
Hi again,

Een beetje opzoekwerk leerde me dat "DataOption" pas sinds versie 2002 aanwezig is. Ook in versie 2000 zal het dus niet werken.

Even je bestand nagekeken.
Je hebt dus een aantal adresgegevens en bovenaan wat sorteerknoppen. Het ziet er mij niet logisch uit dat de knoppen niet mooi bij de kolommen staan die ze sorteren.

Persoonlijk gebruik ik dubbelklik in de eerste rij om te sorteren. Probeer dit misschien eens uit:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row <> 1 Then Exit Sub
Cancel = True
Range("A3:IV" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Cells(3, Target.Column), Order1:=xlAscending, Header:=xlNo
End Sub
deze code hoort in de sheetmodule
rechtsklik tab, kies "programmacode weergeven", plak code

Geen knoppen meer nodig, gewoon dubbelklik in de kolom die als sleutel dient om te sorteren.  :)

tot kijk!
Erik

Online JeanPierre

  • Oplosser
  • ****
  • Berichten: 800
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Werkende macro's
« Reactie #9 Gepost op: 19 maart 2007, 08:15:58 »
Hi jongens,

Nog allemaal nachtwerk gedaan....
Eerst en vooral zal ik maar zeggen dat ik deze macro's gewoon opgenomen heb en niet zelf geschreven.
Maar in alle geval allemaal bedankt voor de uitleg, het is wel een hele boterham maar ga het wel uitproberen.
Geef nog wel een seintje.

Heb het ondertussen even geprobeert Erik, ik weet niet wat ik verkeerd doe maar ik zie geen reactie.  ???
Ik heb wel een nieuw blad gemaakt zonder de knoppen, is in dit geval misscien toch makkelijker uit te leggen.

Grts,
JP.
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Werkende macro's
« Reactie #10 Gepost op: 19 maart 2007, 09:05:36 »
JP,

Je hebt het nochtans correct gemaakt.
enkel de 3 moet natuurlijk een 2 zijn (2 keer wijzigen), want je hebt nu een rij minder bovenaan
Range("A3:IV" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Cells(3, Target.Column), Order1:=xlAscending, Header:=xlNo
na wijziging
Range("A2:IV" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Cells(2, Target.Column), Order1:=xlAscending, Header:=xlNodubbelklik in een cel op de eerste rij en de tabel wordt gesorteerd

als het nog niet lukt: plaats dan in het begin van je code eens
MsgBox "code gestart"bij elke dubbelklik in de eerste rij, verschijnt dan de popup: voor jou niet ?

fijne dag gewenst,
Erik

aanpassing: codetags verbeterd

Online JeanPierre

  • Oplosser
  • ****
  • Berichten: 800
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Werkende macro's
« Reactie #11 Gepost op: 19 maart 2007, 09:37:15 »
Erik, wederom dank u wel, het werkt prima, ga het nu nog doorsturen naar onze andere leden en zien wat er daar gebeurd.

Nogmaals reuzebedankt, ook voor Leo en B-B  ;)

Grts,
Jean-Pierre.
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Werkende macro's
« Reactie #12 Gepost op: 19 maart 2007, 10:10:45 »
JP, Erik, ik heb nog 2 regeltjes aan Erik's code toegevoegd. De 1e zorgt ervoor dat het font in de header niet meer op 'vet' staat. De 2e zorgt er voor dat het font van de active cel (daar waarin je 2x hebt geklikt) op 'vet' komt te staan.
Zo kan je heel snel zien op welke kolom je gesorteerd hebt... ;)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   
    If Target.Row <> 1 Then Exit Sub
    Cancel = True
    Range("1:1").Font.Bold = False
    Range("A2:IV" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Cells(2, Target.Column), Order1:=xlAscending, Header:=xlNo
    ActiveCell.Font.Bold = True

End Sub

Groet, Leo
______________________________

Groet, Leo

Online JeanPierre

  • Oplosser
  • ****
  • Berichten: 800
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Werkende macro's
« Reactie #13 Gepost op: 19 maart 2007, 10:20:49 »
Ja Leo, moet ik het nu nog zeggen, bedankt.... voor deze oplossingen, het werkt uitstekend.

Maar moet nu van mijn baas  ;D (vrouw) mijn bureau wat opruimen, dus ben er even uit..  :-[

Grts,
JP.  ;)
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Werkende macro's
« Reactie #14 Gepost op: 19 maart 2007, 10:43:39 »
Maar moet nu van mijn baas  ;D (vrouw) mijn bureau wat opruimen, dus ben er even uit..  :-[
zo gefixt, hoor  :)
    Range("bureau").Sort Key1:=Range("2hands"), Order1:=xlUndoChaos, Header:=xlWife
Je kan volgende lijn best aanpassen:
ActiveCell.Font.Bold = Truehet is beter "target" te gebruiken
Target.Font.Bold = TrueNiet enkel voor de duidelijkheid, maar met de eerste code kan je soms (als je op een bepaalde manier dubbelklikt) per ongeluk de verkeerde cel vet maken.

als je naar de eerste regel van de code kijkt, zie je 2 argumenten
Target As Range = waarin gedubbelklikt werd
Cancel As Boolean = de "eigenlijke" event verbonden aan de actie kan geannuleerd worden (voorbeeld: in deze code geraak je niet "in" de cel door dubbelklikken: test eens hoe vervelend het is, als je de cancel-lijn weglaat)

veel opruim- en sorteergenot !
Erik

 


www.combell.com