Ga naar inhoud

alpha

Lid
  • Items

    1.124
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door alpha

  1. Volkomen duidelijk.

    De indeling van de x-as (met zoveel gegevens er op) was zodanig dat de kolommen niet breder konden.

    Nu je de indeling 'ruimer' hebt gemaakt, kunnen automatisch ook de kolommen breder worden.

    Dank voor je reactie en voor alle lezers van dit forum een gezond en gelukkig 2019 !

  2. 5 uren geleden, Rolle zei:

    Na (heelwat) suppoteren, en vraag me niet hoe, heb ik mijn problemen kunnen oplossen.

    En hoe het probleem is opgelost, dat willen wij nu juist zo graag weten.

    Als je dat niet weet (wat uitermate vreemd zou zijn), plaats dan eens de grafiek (of beter nog een bestand met de grafiek) zoals die er na oplossing van je probleem uitziet.

  3. Foutje in mijn formule in het bericht hierboven: bij 0 in A1 moet B1 niet 0 zijn maar "Stationair".

    De formule wordt dan:

    =ALS(ISLEEG(A1);"";ALS(A1=0;"Stationair";ALS(A1<=-1;"Daling";ALS(A1>=1;"Stijging";""))))

     

  4. In de vraag is niet vermeld:

    1. wat B1 moet zijn als A1 groter is dan -1 en kleiner dan 0, en

    2. wat B1 moet zijn als A1 groter is dan 0 en kleiner dan 1.

    In de veronderstelling dat er in B1 dan niets moet worden weergegeven, kan dit worden gbruikt in B1:

    =ALS(ISLEEG(A1);"";ALS(A1=0;0;ALS(A1<=-1;"Daling";ALS(A1>=1;"Stijging";""))))
  5. @pd123,

    Bij mij werkt de macro van Bakerman prima.

    Ik vermoed dat de foutmelding bij jou aan de knop "Consolidatie" ligt.

    Voer de macro eens uit vanuit de vba-editor (cursor ergens willekeurig in de macro plaatsen en daarna bovenaan in het vba-menu op het pijltje-naar-rechts klikken), dan weet je zeker of het daaraan ligt.

    Gebruik anders in plaats van de Active-x-knop eens een knop uit de "Formulierbesturingselementen" (die staat in het menu boven de Active-x-besturingselementen).

     

  6. Mooie oplossing Bakerman!

    3 uren geleden, pd123 zei:

    Het zou simpel moeten zijn....

    Helaas heb ikgeen enkele ervaring met VBA....

    Het verbaast mij vaak dat mensen die weinig of geen ervaring hebben met Excel vaak denken dat een oplossing eenvoudig is. Dit is overigens louter een randopmerking.

  7. Om het simpel te houden (de voettekst wordt automatisch aangepast als er in kolom G wat wijzigt:

    - Rechtsklik links-onderaan op de naam van het tabblad waarin je de voettekst wil plaatsen en kies in het verschijnende menu: "programmacode weergeven".

    - Plaats in het rechtervak onderstaande code en sla het Excelbestand daarna op op als .xlsm-bestand.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 7 Then
    PageSetup.LeftFooter = "Som(G2:G33) = " & WorksheetFunction.Sum(Range("G2:G33"))
    End If
    End Sub

     

     

     

  8. Als in E6 de deadlinedatum 08-10-18 moet zijn, dan moet die in  E7 zijn: 08-12-18, anders ben je niet consequent. In bijgaand bestand is daar dan ook rekening mee gehouden. Over dat aantal dagen valt nog wel wat meer te zeggen, want het aantal dagen per maand kan zoals je weet, verschillen (28/29 voor februari, 30/31 voor andere maanden), maar daar ga ik nu niet verder op in. Je zou kunnen overwegen om de functie 'D360' (of 'Dagen360', afhankelijk van je Excelversie) te gebruiken.

     

    PC-H Lancelot.xlsx

  9. Aanvulling op vorig bericht. Je schrijft dat je nergens een bestandsnaam kunt invullen. Dat doet vermoeden dat je na het kiezen van "Bestand" - "Opslaan als" - "Bladeren" niet in Word maar in een ander programma zit. Kies na "Bestand" - "Opslaan als" eerst eens:  "Deze pc" (of"Computer") en daarna "Bladeren". Maakt dat enig verschil?

  10. Als je in Word hebt gekozen: "Bestand" - "Opslaan als" en het venster "Opslaan als.."verschijnt, kijk dan onderaan in dat venster wat er, onder het vakje waar je de bestandsnaam kunt invullen, staat naast "Opslaan als:". Daar moet staan: Worddocument(*.xlsx) of Worddocument (.xlsm). Is dat het geval?

     

     

  11. Onderstaande macro zou moeten doen wat je wenst als je die in een willekeurig Excelbestand uitvoert (maar uiteraard niet in het bestand "omzetcijfers_grafiek.xlsx" van waaruit je een tabel kopieert). Verondersteld is dat het bestand omzetcijfers_grafiek.xlsx nog dezelfde naam heeft als in je eerste bericht hierboven en dat het op je computer ook nog op dezelfde plaats staat. De macro begint met het pad daar naar toe en dat moet uiteraard precies juist zijn. In de code komen 2 regels voor die beginnen met .FullSeriesCollection . Dat begrip geldt voor Excel 2013 en later. Werk je met Excel 2010, dan moet je in plaats van .FullSeriesCollection gebruiken: .SeriesCollection . Krijg je nog een foutmelding, laat dan even weten welke.

    Sub macro1()
    Workbooks.Open Filename:= _
    "C:\Users\Ben\Desktop\Cvo Programmeren - Ben\Softwarepakketten\Les 4 - Opdrachten - Macros\oefenen dus niks serieus\Opdrachten Macros\omzetcijfers_grafiek.xlsx"
    Range("A1:F7").Copy
    Windows("taak4_macros_oplossing.xlsm").Activate
    Range("A1:F7").Select
    ActiveSheet.Paste
    Workbooks("omzetcijfers_grafiek.xlsx").Close
    Sheets(1).Shapes.AddChart.Select
    With ActiveChart
    .SetSourceData Source:=Range("Blad1!$A$2:$B$7,Blad1!$F$2:$F$7")
    .HasTitle = True
    .ChartTitle.Text = "Omzetcijfers"
    .ChartType = xlBarClustered
    .Axes(xlCategory).ReversePlotOrder = True
    .Axes(xlValue).DisplayUnit = xlThousands
    .Axes(xlValue).DisplayUnitLabel.Delete
    .FullSeriesCollection(1).ApplyDataLabels
    .FullSeriesCollection(2).ApplyDataLabels
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Text = "Omzetcijfers in euro's (x 1000)"
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Provincies"
    .Axes(xlCategory).MajorTickMark = xlNone
    .Axes(xlValue).Format.Line.Visible = msoFalse
    End With
    End Sub
    
    

     

  12. In de door jou aangegeven regel komt er bij mij geen foutmelding, wel bij een aantal andere regels. Dit kan met de gebruikte versie van Excel te maken hebben, zeker omdat het om code gaat die met de recorder is opgenomen. Op de computer waarop ik het bestand opende , was dat Excel 2010. 

    Ik sta er overigens wel van te kijken dat men in een vba-programmeercursus zulk soort (met de recorder opgenomen)  opdrachten geeft, maar dat terzijde. Ik kan je niet echt helpen, maar je zou onderstaande eens kunnen proberen; ik vrees echter dat er dan weer (andere) problemen opduiken.

    Dim mychart As Chart
    Set mychart = ActiveSheet.ChartObjects("Grafiek 1").Chart
    With mychart
    ......
    ......
    End With

     

  13. Quote

    de 1ste manier werkt als ik de formule aanpas
    de 2de manier de formule in de andere tabel aanpassen werkt niet

    Ik begrijp niet wat je hiermee nog wil zeggen. Je kunt toch (zoals ik heb aangegeven) in zowel tabel1 als tabel2 de functie 'RANG' gebruiken en dan heb je toch wat je wil?

    Kan ik nu ook eventueel de namen en posities automatisch  in een bepaalde kleur krijgen als ik iets aan de formule toevoeg wanneer  ik 2 of 3 nummers 1 krijg?

    Niet door iets aan de formule toe te voegen. Probeer het eens met voorwaardelijke opmaak.

     

    Voor het overige bemoei ik me niet al te zeer met dit topic, aangezien al een ander met sorteermacro's is bezig geweest. Dat is duidelijk recorderwerk, want qua omvang kunnen die tot ongeveer één-tiende worden ingekort. Ik heb overigens niets tegen het gebruik van de macrorecorder (kan handig zijn als je niet weet hoe iets aan te pakken qua programmering), maar het zorgt voor erg veel overtollige code.

  14. Met mijn opmerking wilde ik niet zeggen dat je onhandig bent, maar wilde ik proberen je ertoe aan te zetten meer dingen te proberen dan dat je al gedaan hebt. Als je in Google bv. als zoekopdracht invoert: 'Excel automatisch sorteren', dan vind je een heleboel webpagina's met mogelijke oplossingen. Door daarvan een aantal te proberen, had je vastwel het gewenste resultaat bereikt denk ik, en nog wat bijgeleerd ook.

  15. 18 minuten geleden, tjalk zei:

    zou graag zien dan als ik een nieuw getal invoer dat de stand dan automatisch aangepast wordt. (zonder zelf te moeten sorteren of filteren)

    Dat kan door een sorteermacro te plaatsen in het blad behorend bij je tabel ("Private sub Worksheet_Change..."). 

    Je kunt die macro handmatig opnemen met de macrorecorder of een zoekopdracht uitvoeren op internet, dan vind je meteen talloze voorbeelden.

  16. Daarvoor hoef je de tabel slechts te sorteren van hoog naar laag, 1 van de basisbeginselen van Excel.

    Selecteer de volledige tabel, kies in het menu: Gegevens - Sorteren - Sorteren op: Totaal - |Sorteren op: Waarden - Volgorde: van groot naar klein  - Klik op Ok.

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.