Ga naar inhoud

alpha

Lid
  • Items

    1.124
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door alpha

  1. 16 uren geleden, FredSiegl zei:

    Ik wil het aantal witte cellen tellen tussen de waarden per kolom. Het liefst nog +1.....

    Kolom Yellow:

    - Orange naar Black: 11 (cellen)

    - Black naar 14

     

    Kolom Orange:

    - Orange naar Orange: 1

    - Orange naar Blue: 1

    - Blue naar Red: 15

    Etc etc

    Niet allemaal erg logisch.

    Enerzijds schrijf je dat je de blanco cellen (+1) wil tellen en daar ben ik in mijn antwoord hierboven vanuit gegaan.

    Anderzijds blijkt dat je soms ook niet-blanco cellen wil tellen, want:

    - in kolom Yellow tel je van yellow naar orange niet mee;

    - in kolom Orange negeer je de bovenste 'van Orange naar Orange' (daar bevindt zich 1 lege cel en zou dus een 2 moeten komen) en vervolgens begin je dan van de tweede 'Orange naar Orange' en 'van de tweede Orange naar Blue' niet-lege cellen te tellen.

    Wat wil je eigenlijk? Denk daar aub goed over na voordat je een vraag plaatst, dat kan bij lezers veel tijd en ergernis besparen. En plaats voortaan geen afbeelding, maar een Excelbestand.

  2. Op 18/4/2019 om 10:23, leoke zei:

    Een Excel blad bestaat uit verticalen kollonen en horizontale lijnen.

    Bestaat er in het Excel programma de mogelijkheid om die van plaats te verwisselen ?

    Ja, die mogelijkheid bestaat; die heet transponeren en die methode is niet moeilijk om toe te passen. Ik leg het uit aan de hand van een voorbeeld.
    Stel dat je gegevens in Blad1 in de kolommen A t/m R staan en in de rijen 1 t/m 12 (dat aantal rijen zal in werkelijkheid veel groter zijn, maar het gaat in dit voorbeeld om de wijze van handelen). Als je rijen en kolommen wil verwisselen en die gegevens wil weergeven in Blad2, doe dan het volgende:
    - Selecteer in Blad1 het bereik A1:R12 en klik in het menu op de knop Kopiëren (na selectie op de rechtermuisknop klikken en 'Kopiëren' kiezen kan ook).
    - Ga naar Blad2, selecteer daar de cellen A1:A18 (de hele kolom A selecteren mag ook) , kies dan in het menu: Plakken - Plakken Speciaal -> vink aan: Transponeren, en klik op Ok.
     

  3. 17 minuten geleden, thierry1 zei:

    In tabblad januari, februari,... vak B7, B8, B9, B10 en B11 staat een komt een scroldownmenu en dat zou ik graag verwijderen. Hoe kan ik deze verwijderen?

    Selecteer B7:B11 en kies in het menu: Gegevens - Gegevensvalidatie - Kies bij "Toestaan": Alle waarden en klik op Ok.

    Je bestand is overigens geen sjabloonbestand, maar een gewoon Excelbestand.

  4. 3 uren geleden, hansrad zei:

    Nu is mijn vraag of ik dit symbool ook kan vervangen door tekst. Het aantal symbolen is beperkt en tekst is voor mij duidelijker.

    Vroeger (in Excel 2003 en eerdere versies) kon dat eenvoudig, vanaf de Excelversies nadien  niet meer of toch niet eenvoudig. Je kunt nog wel kiezen uit een 180-tal iconen en de tekst daarbij naar eigen wens aanpassen, maar je kunt niet meer alleen tekst (zonder icoon) gebruiken.

    Om een (ander) icoon te kiezen en de tekst aan te passen: klik met de rechtermuisknop op het icoon van jouw macro in de "Werkbalk snelle toegang", kies dan: "Werkbalk snelle toegang aanpassen", selecteer in de rechterkolom de aan te passen macro en klik onderaan op "Wijzigen".  Je kunt dan desgewenst een ander icoon kiezen en de weergavenaam aanpassen.

  5. @Griet,
    Ik zie eigenlijk niet direct het probleem om niet met datavalidatie te willen werken. Gebruikers zien toch wel dat je kunt scrollen door een lijst? In de bijlage een voorbeeld, uitsluitend gemaakt met gegevensvalidatie en INDIRECT.  Je ziet dat dat niet moeilijk is (maar dat wist je waarschijnlijk al), maar bij vele keuzemogelijkheden moet je uiteraard veel lijstjes maken (in mijn voorbeeld staan er in blad2 al 10 en dan heb je nog niet veel keuzes). Op internet kun je over gegevensvalidatie ook tal van voorbeelden en uitleg vinden, o.a. hier: http://www.gratiscursus.be/Excel_Tips/Excel_Tip_030.html

     

    Wil je beslist (formulier- of active-x)-besturingselementen gebruiken  (waarbij ik aan de laatste de voorkeur zou geven, maar dat is een kwestie van smaak en kan ook afhankelijk zijn van het feit of je het bestand op een Apple-computer wil gebruiken), dan ontkom je niet aan een stukje vba-code.  Die code is niet ingewikkeld (het komt er steeds op neer dat bij keuze 1 lijst A moet worden weergegeven, bij keuze 2 lijst B, enz). Ook daarvoor is op internet de code wel te vinden. Maar ben je nog niet zo vertrouwd met vba, dan zou ik aan datavalidatie de voorkeur geven, want bij gebruik van vba doemen altijd wel problemen op die je veel tijd en ergernis kunnen kosten.

    PC-H Griet Jansen.xlsx

  6. Griet,

    jouw bestand werkt op mijn computer normaal.

    Als je rechtsklikt op de keuzelijst, behoren er 'blokjes' om het keuzevak te komen staan en je kunt dan kiezen: "besturingselement opmaken". Je kunt dan invullen op welke lijst het element betrekking heeft en 'hoeveel cellen naar omlaag' je in de keuzelijst wil zien. Overigens: als je aan elke keuze in de linker-keuzelijst een waarde verbindt, dan heb je de tweede keuzelijst niet nodig. Je kunt die dan bv. met vert.zoeken ophalen. Als je vertelt wat precies je bedoeling is met die keuzelijsten, dan kan ik /of kunnen andere lezers van dit forum je verder helpen.

    PC-H Griet Jansen.xlsx

  7. 3 uren geleden, Griet Jansen zei:

    Momenteel staan die in het lijstje (ontwikkelaars - invoegen - formulierbesturingselementen) in het licht grijs, dus ik kan ze niet gebruiken. Vraag 1: hoe kan ik deze activeren? 

    Het is lang niet zeker of onderstaande een oplossing biedt, maar controleer in elk geval het volgende:

    1. Sluit Excel af en open het bestand opnieuw.

    2. Als het probleem zich slechts in 1 Excel-werkmap voordoet, kopieer dan alle gegevens naar een nieuwe werkmap en werk daarin verder.

    3. Controleer of het blad beveiligd is (door in het menu van Excel te kiezen: "Start" - "Opmaak" --> in de groep "Cellen": "Opmaak" - "Beveiliging".

    4. Om de elementen aanklikbaar te kunnen maken moet er een cel geselecteerd zijn (het vertikale streepje om wat in te voeren mag dus niet zichtbaar zijn).

    5. Er mag slechts 1 (en niet meer dan 1) werkblad geselecteerd zijn. Als er meer dan 1 blad geselecteerd is, staat er bovenaan in de blauwe balk achter de titel van het document: "(Groep)", bv. "Map1 (Groep) - Microsoft Excel". De groep kun je opheffen door onderaan de tabs van de bladen 1 voor 1 aan te klikken.

    6. Controleer via "Bestand" - "Opties" - "Geavanceerd" --> onder de kop "Weergaveopties voor deze werkmap" of daar bij "Voor objecten weergeven" is aangevinkt: "Alles".

     

    Wat gegevensvalidatie betreft: maak een lijst aan met alle te kiezen mogelijkheden, dat mogen er dus veel meer zijn dan 8. Geef die lijst een naam (door de lijst te selecteren en in het naamvak (links naast de formulebalk, boven de kolomletters) de gewenste naam te typen en op Enter te drukken). Bij validatie kies je dan: Toestaan: Lijst, en bij Bron: =Mijnlijst (als Mijnlijst de naam is).

     

     

     

  8. 16 uren geleden, bucky zei:

    Hij bedoeld het naamvak. 

    Als dat het geval is, dan is ook de formulebalk verdwenen.

    Je kunt dan beide in 1 keer terug plaatsen door in het menu te kiezen: Bestand - Opties - Geavanceerd, en dan aan de rechterkant onder het kopje "Weergave" aan te vinken: "Formulebalk weergeven".

  9. Wellicht handig om te weten (als je het nog niet weet):

    Excel heeft ook een macrorecorder: als je die aan zet terwijl je een handeling uitvoert en uit zet als die handeling is afgelopen (bv. een celinhoud kopiëren), dan heb je meteen de gewenste macro (min of meer).  Kijk of boven het lint de tab "Ontwikkelaars" aanwezig is. Indien niet: Kies "Bestand - Opties - Lint aanpassen" en plaats (indien nodig) in de rechterkolom een vinkje bij "Ontwikkelaars". Die tab "Ontwikkelaars" bevat een groep met de naam "Programmacode" met daarin de knop "Macro opnemen".

     

  10. 6 uren geleden, Olivier Barbieur zei:

    Ik wil een datum in een cel als die andere cel is ingevuld, dwz:

    vb, =als(isleeg("in te vullen cel");"";huidige datum weergeven)

    Ik weet dat deze werkt maar enkel als je zelf een waarde ingeeft als die cel niet leeg is.

    Je verstrekte informatie is onvoldoende om een goed antwoord te kunnen geven.

    HOE wordt die andere cel ingevuld? Handmatig, of met een formule?

    Een cel  waarin een formule staat bijvoorbeeld, is niet leeg.

  11. Arno,

    het is op dit- en ook op de meeste andere forums gebruikelijk om bij een vraag als de jouwe een (voorbeeld)-Excelbestand aan je bericht toe te voegen, zodat degenen die je vraag willen beantwoorden niet moeten gaan fantaseren hoe je werkbladen (in dit geval blad1 en blad2) er precies uitzien.  Als je dat doet, dan is de kans ook veel groter dat lezers reageren. Nu je dat niet gedaan hebt, ga ik van het volgende uit:

    Stel dat in blad1 de datum van de factuur in A3 staat, het factuurbedrag excl. BTW in E12, de BTW in E13, en het factuurbedrag incl BTW in E14. Plaats dan in blad1 een knop en wijs daaraan onderstaande macro toe. De hierboven vermelde gegevens worden dan door 1 x klikken op die knop in blad2 overgenomen in de kolommen A t/m D, te beginnen in rij 2.

    Sub macro1()
    Dim lr As Integer
    With Sheets("Blad2")
    lr = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("A" & lr) = Sheets("Blad1").Range("A3")
    .Range("B" & lr & ":" & "D" & lr) = Application.Transpose(Sheets("Blad1").Range("e12:e14"))
    End With
    End Sub
  12. Probeer dit:

    Sub macro1()
    Dim lr1 As Integer, lr2 As Integer
    With Sheets("Blad1")
    lr1 = .Cells(.Rows.Count, 1).End(xlUp).Row
    lr2 = CInt(lr1 / 2) + 1: If WorksheetFunction.IsOdd(lr2) Then lr2 = lr2 + 1
    .Range(.Cells(lr2, 1), .Cells(lr1, 4)).Cut .Cells(1, 6)
    With .Columns("a:i")
    .Font.Size = 10
    .AutoFit
    End With
    End With
    End Sub

  13. In kolom E (zie ik nu) hadden nog de totalen per persoon moeten komen, maar die kun je zelf wel toevoegen neem ik aan (al dan niet met vba).

    iets dat jullie quasi direct opgelost hebben

    Het woord 'quasi' is hier wel op zijn plaats, want 'direct' (in enkele minuten) lukt dit slechts weinigen (mij niet in elk geval).

  14. Enkele opmerkingen:
    Per naam had in het blad "Februari 2019" meestal 5 rijen beschikbaar, maar op 1 of twee plaatsen 6 rijen. Ik heb er overal 5 rijen van gemaakt. Zou je er overal 6 van willen maken, dan moet je ook de macro aanpassen (wat niet moeilijk is).
    Pas op met het samenvoegen van cellen als je macro's gebruikt. In de kolommen A:B bv. heb je per naam de eerste rij (met in de B-kolom de naam) miet samengevoegd, de rijen daaronder wel. Zou je nu in de rij met de naam de A- en B-kolom ook samenvoegen, dan zal de macro niet meer werken.
    Verder is voor goede werking van de macro vereist dat ALLE namen zijn ingevuld (wat ik in dit voorbeeldbestand gedaan heb).
    Bovenstaande zijn allemaal zaken die gewijzigd kunnen worden, maar bij programmeren moet je een keuze maken en het is daarbij vooral belangrijk om consequent te zijn. Een macro moet je eigenlijk pas schrijven als de indeling van het blad waarin de macro moet werken niet meer gewijzigd wordt. Een macro past zich nl. nooit automatisch aan als je de indeling van het blad wijzigt.
    Zoals je ziet geeft de macro alleen de maandtotalen. De dagtotalen zijn wel in te voegen door in de macro per dag een optelling tussen te voegen, maar de dagtotalen zijn ook eenvoudig in het eerste blad te zien, daarom heb ik ze achterwege gelaten.

     

    PC-H Petra68.xlsm

     

     

     

     

  15. 53 minuten geleden, Petra68 zei:

    Mijn initiële vraag was hoe ik (via functies van excell) een search kon doen naar alle woorden “fixed” om dan de waardes 2 velden verder nemen. (Wat het vba script nu doet). Ik veronderstel dat dergelijke functie niet bestaat.

    Toch wel ! Met vert.zoeken of met Index-Vergelijken kun je het ook oplossen.

    Is wel wat bewerkelijk , want je moet dat dan voor elke dag doen (maar is sneller gebeurd dan het schrijven van een macro).

    Mijn vraag in vorig bericht stelde ik (ook) omdat het produceren van alleen het aantal uren (en de onderverdeling daarvan in fixed-variable-en overuren) met een macro tamelijk makkelijk zou kunnen. Dus als je daar nog behoefte aan zou hebben....

  16. @Petra,

    Als je zou aangeven of had aangegeven hoe je de info over de uren precies zou willen, dan is een antwoord daarop aan te passen. Als je bv. alleen maar een overzicht wil van het aantal uren en de onderverdeling in 'Fixed' - 'Variable', en 'Overuren', dan kan het een en ander achterwege gelaten worden. In het blad 'Februari 2019' is immers zonder berekeningen ook veel te vinden.

  17. @Henk,

    als je dat dialoogvenster niet wil, dan moet je het ook niet oproepen!

    Het uitschakelen van meldingen kun je best achterwege laten,  als je dat niet doet heb je geen enkel zicht op wat er fout gaat. Het bestand kan dan in de huidige vorm bv. ook opgeslagen worden als niet alle gegevens zijn ingevuld.

    Quote

    een Excel Macro voor het opslaan van een Excel werkmap in de huidige directory waar deze op dat moment staat.

    Het kan voorkomen dat de werkmap in een andere directory staat dan moet het in de directory worden opgeslagen waar dit bestand op dat moment staat.

    Dat is een contradictio in terminis: de huidige directory is altijd de directory van het bestand waarmee je aan het werken bent!

    Ik heb geen zicht op WAAR in je bestand WAT staat, maar probeer dit eens:

    Sub macro1()
    Dim vr As Integer, newname As String
    vr = MsgBox("Weet u zeker dat u het bestand wilt opslaan?", 4)
    If vr = vbNo Then Exit Sub
    If WorksheetFunction.Or(IsEmpty(Range("K7")), IsEmpty(Range("K8"))) Then
    MsgBox "De naam van het bestand is nog niet compleet want" & Chr(13) & Chr(13) & _
    "de toernooigegevens zijn nog niet volledig ingevuld." & Chr(13) & Chr(13) & _
    "Ga naar TOERNOOIGEGEVENS en voer de ontbrekende gegevens in !", 48
    Exit Sub
    End If
    newname = Range("k7").Value & " " & Range("K8").Value & " " & Format(Now, "dd-mm-yy hh-mm-ss") & ".xlsm"
    ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & newname
    MsgBox ("Het bestand werd opgeslagen als" & Chr(13) & Chr(13) & """" & newname & """" & Chr(13) & Chr(13) & _
    "Het oude bestand werd behouden.")
    End Sub
×
×
  • 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.