Ga naar inhoud

alpha

Lid
  • Items

    1.125
  • Registratiedatum

  • Laatst bezocht

Alles dat geplaatst werd door alpha

  1. Ja, dat is wel duidelijk, want dat is de enige opdracht in de macro die wat moet doen; daar had je 'On error...' niet voor weg hoeven te halen. Ik heb er het topic van vorig jaar op nageslagen en daarin schreef ik duidelijk: Ervan uitgaande dat er alleen horizontale pagina-einden zijn..... In jouw blad zijn er nu niet alleen horizontale- maar ook vertikale pagina-einden, dus logisch dat de code dan niet werkt! Bovendien heb je de pagina's slecht ingedeeld, er zijn tabellen die overlopen van de ene naar de andere pagina. Stel in dat de pagina-einden moeten worden weergegeven, dan zie je dat meteen. Ik heb nu geen tijd om er verder naar te kijken, maar bestudeer de code en probeer zelf ook eens wat!!
  2. Zonder het document in te zien waarin het fout loopt, is het gissen naar de oorzaak. Opm: plaats code in een bericht steeds tussen codetags.
  3. alpha

    gemiddelde

    De oplossing van Jean-Paul is ok voor cel G14, maar best pas je ook de formules in de gehele kolom G aan. Typ in G7: =ALS.FOUT(GEMIDDELDE(B7:F7);"") en kopieer naar beneden t/m G13. Je eigen formule in G14 kan dan blijven staan, maar let er wel op dat je die cel hebt ingesteld als "Getal met 0 decimalen". Als je dat zo wil, is dat prima natuurlijk.
  4. alpha

    ALS

    Dat kan bv. op deze twee manieren: =ALS(C31<50;1;ALS(C31<100;2;ALS(C31<150;3;ALS(C31<200;4;5)))) of =VERGELIJKEN(C31;{0;50;100;150;200;300}) Niet duidelijk is wat je wil als C31 precies 50,100, 150, of 200 is, want je vermeldt met het isgelijkteken bij die getallen telkens 2 uitkomsten. Ik ben ervan uitgegaan dat bij die waarden telkens het hogere getal de uitkomst moet zijn.
  5. Prima opossing van Plongske! Ook mogelijk is: =ALS.FOUT(ZOEKEN(B4;{"D";"N";"V"};ALS(A4="*";{16;10;6};{7;5;2}));"") Als je in B4 de letters D, N, en V laat kiezen via gegevensvalidatie (zodat geen verkeerde keuze mogelijk is) kun je volstaan met: =ZOEKEN(B4;{"D";"N";"V"};ALS(A4="*";{16;10;6};{7;5;2}))
  6. Als je met de Engelstalige versie van Excel werkt én als ook de komma als lijstscheidingsteken staat ingesteld, dan wordt het: =IF(B4="D",7,IF(B4="N",5,IF(B4="V",2,""))) Voor de Nederlandstalige versie van Excel geldt: =ALS(B4="D";7;ALS(B4="N";5;ALS(B4="V";2;"")))
  7. @Tefal86, - Kijk eens goed naar je formules in het blad 'Beoordeling'. In B41 maak je een som van een verkeerd bereik (zoals je som nu is zal die altijd een foutmelding geven), en in B42 en B43 gebruik je verschillende bereiken (daar heb ik bij je vorige vraag ook al op gewezen). - het antwoord op je vraag in dit topic is eenvoudig. Typ in het blad "Data" in C3 en kopieer naar beneden in kolom C: =ALS(OF(A3="";B3="");"";ALS(B3>8,5;"G";ALS(B3>5,5;"V";"O")))
  8. Klein foutje slechts. In jouw formule: =VERT.ZOEKEN(B41;DATA!A3:B54;3;0) moet B54 worden: C74 . Je krijgt dan: =VERT.ZOEKEN(B41;DATA!A3:C74;3;0) Natuurlijk in het blad Data ook nog C71 t/m C74 invullen.
  9. @Marcel, is je vraag afdoende beantwoord of heb je nog vragen daarontrent? Laat het in beide gevallen weten a.u.b. Op forums is het gebruikelijk om als vragensteller te reageren als iemand je vraag heeft beantwoord.
  10. @Mexican, is je vraag afdoende opgelost of heb je nog vragen daaromtrent? Laat het in beide gevallen weten a.u.b.! Op forums is het gebruikelijk (zeg maar een ongeschreven regel) om als vragensteller reacties te beantwoorden.
  11. alpha

    formules optellen

    @Daf, is je probleem afdoende opgelost of heb je nog vragen daaromtrent? Laat het in beide gevallen weten a.u.b.! Op een forum behoort het tot de ongeschreven regels om als vragensteller reacties te beantwoorden.
  12. @Wouter, Het is vreemd dat je aan het verzoek van Haije geen gevolg geeft. Zonder aanvullende gegevens, bv.over de plaats van die macro's (behorend tot hetzelfde blad of tot verschillende bladen?) is het geven van een oplossing niet goed mogelijk.
  13. Fijn, dat je de oplossing kunt gebruiken. Dank voor je reactie !
  14. En toen was het stil....
  15. @Stephan, in de door jou vermelde cellen zijn er veel meer combinatiemogelijkheden dan je hierboven vermeldt. Dan blijft altijd de vraag wat er in de niet-vermelde gevallen moet gebeuren. Maar dat moet je met de gegeven oplossing zelf gemakkelijk kunnen aanpassen. Jammer overigens dat je niet vermeldde wat je zelf al hebt geprobeerd. In je eerste bericht schreef je immers dat je vba aan het leren bent en een probleem als dit biedt daarvoor aardige leermogelijkheden. PC-Helpf Stephan3321.xlsm
  16. Ik krijg mijn tekst in voorgaand bericht niet juist weergegeven. Je moet instellen: aangepast --> u:mm , maar de u moet tussen vierkante haken staan !
  17. Als je de cel waarin je de berekening opmaakt als "Aangepast" en dan invult :mm dan zal de weergave doorgaans wel goed zijn. Als het aantal uren/minuten de 24 uur overschrijdt (bv. van 22:00 - 01.30 uur = 3 1/2 uur, dan moet je daar in de berekening wel rekening mee houden.
  18. Graag gedaan. Dank voor de respons!
  19. Helaas gaf je geen antwoord op de vraag wat je precies wil, daarom heb ik de macro maar gemaakt zoals ik denk dat je hem wil. Met onderstaande code wordt in elke alinea aan de eerste aaneengesloten vette tekst een dubbele punt toegevoegd. Sub macro1() Dim a, b, c, p As Paragraph, x, myrange With ActiveDocument pgr = .Paragraphs.Count For Each p In .Paragraphs With p.Range a = .Start: b = .End End With x = 0: c = 0 Do Until a = b Set myrange = ActiveDocument.Range(Start:=a, End:=a + 1) With myrange If .Font.Bold = True Then x = a Do Until .Font.Bold = False Set myrange = ActiveDocument.Range(Start:=x, End:=x + 1) x = x + 1 Loop c = x Set myrange = ActiveDocument.Range(Start:=a, End:=c - 1) myrange.InsertAfter ":" GoTo nxt End If End With a = a + 1 Loop a = a - 1 nxt: Next p End With End Sub Om in Word een sneltoets aan een macro toe te wijzen: - Kies Bestand - Opties - Lint aanpassen. - Kies bij "Kies opdrachten uit" Macro's. - Selecteer Project.NewMacros.macro1 en klik op "Aanpassen". - Selecteer onder "Categorieën Macro's en selecteer aan de rechterkant macro1 - Beslis of je de macro wiltoewijzen aan alle documenten (Normal.dotm) of alleen aan het actieve document. - Plaats de cursor in het vak "Druk op nieuwe sneltoets". - Toets de gewenste sneltoetscombinatie en klik op "Toewijzen". - Klik op Sluiten en Ok. Je kunt ook een icoon voor de macro in de "Werkbalk snelle toegang" plaatsen, maar dan moet je opletten dat je daar niet op klikt in documenten waarin dat niet de bedoeling is.
  20. Andrea schreef: - Daar kon ik redelijkerwijs niets anders onder verstaan dan: aan het begin van het document. Daarom heb ik de macro zo gemaakt dat die (zoals je kunt zien als je de macro goed bekijkt) in de eerste alinea van het document zoekt naar de eerste vette tekst die in die alinea staat en die wordt aangevuld met een dubbele punt, zoals je wenste. Als in de volgende zin van de eerste alinea ook vette tekst staat, dan wordt daar niets mee gedaan. Overal waar je in een tekst op Enter hebt gedukt, heb je een nieuwe alinea gemaakt, dat weet je toch? - Als mijn antwoord niet is wat je wil, wat wil je dan wel, want dat maak je niet duidelijk. Natuurlijk is dat mogelijk, maar je maakt je er wel héél gemakkelijk vanaf. Je moet zelf ook eens wat proberen te doen! Een forum is immers vooral bedoeld om mensen te helpen die bezig zijn een oplossing te zoeken en even niet verder kunnen, niet om kant-en-klare oplossingen te geven aan mensen die te lui zijn om ook maar het minste zelf te doen. Een sneltoets toewijzen aan een macro is echt niet moeilijk.
  21. bakerman, Met het aantal rijen dat de vragensteller voor zijn probleem gebruikt, speelt snelheid geen grote rol. Maar omdat je daarover begint en het ook over vertraging hebt, is het uitermate vreemd: - dat je vier functies gebruikt, terwijl je met 1 kunt volstaan. - dat je in miljoenen rijen laat zoeken terwijl de vragensteller er nog geen 320 gebruikt. - dat je als variabele een variant gebruikt, die 8 x zoveel plaats inneemt als een integer. En verder: Met application.goto selecteer je evenzeer een blad als dat dat met activate gebeurt. De pot....
  22. Probeer dit: Sub macro1() Dim b, x, y, myrange With ActiveDocument.Paragraphs(1).Range x = .Start: b = .End End With x = 0 Do Until x > b Set myrange = ActiveDocument.Range(Start:=x, End:=x + 1) With myrange If .Font.Bold = True Then y = x Do Until .Font.Bold = False Set myrange = ActiveDocument.Range(Start:=y, End:=y + 1) y = y + 1 Loop Set myrange = ActiveDocument.Range(Start:=1, End:=y - 1) myrange.InsertAfter ":" Exit Sub End If End With x = x + 1 Loop End Sub
  23. De dollartekens zijn voor als je cellen of formules gaat kopiëren, dan blijft in de formule 4 staan. Maar als je rijen gaat toevoegen of verwijderen, dan kun je rij 5 niet rij 4 gaan noemen, daarmee zou heel Excel in de war lopen. Want wie weet er dan nog welke rij je bedoelt?
  24. @Tom, 1. Ter voorkoming van fouten kun je de datumcellen in kolom B in plaats van als "Speciaal" beter opmaken als "Datum", type "14-mrt-01". 2. De oplossing van JeanPaul is prima; eventueel kun je ook volstaan met deze code behorend bij "ThisWorkbook": Private Sub Workbook_Open() Sheets("test").Activate Range("B2:B316").Find(Date).Select End Sub
  25. Als je nog weinig ervaring hebt met iets, moet je met eenvoudige dingen beginnen en niet teveel tegelijk willen. Even zoeken op internet en je vindt o.a. deze cursus (waarin ook secties behandeld worden): http://www.gratiscursus.be/word_2010/
×
×
  • 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.