Ga naar inhoud

alpha

Lid
  • Items

    1.124
  • Registratiedatum

  • Laatst bezocht

Alles dat geplaatst werd door alpha

  1. 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. Ga naar blad2 en klik daar op de knop. PC-H FredSiegl.xlsm
  3. Ik vroeg wat het resultaat moet zijn voor kolom 2: 1 getal, meerdere getallen? En welk(e) getal(len) dan?
  4. Wat meer uitleg lijkt mij wel gewenst. Wat moet bv. het resultaat zijn voor kolom 2 ?
  5. 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.
  6. 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.
  7. 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.
  8. @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
  9. 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
  10. 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).
  11. 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".
  12. 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".
  13. ActiveCell.Value = "Test1" of, als Test1 in B3 staat: ActiveCell.Value = Range("B3").Value
  14. Dat kan op verscheidene manieren, dit is er 1 van: Sub macro1() Range("B3").Copy Range("C4:C9").Select ActiveSheet.Paste End Sub of korter: Sub macro1() Range("B3").Copy Range("C4:C9") End Sub of: Sub macro1() Range("C4:C9").Value = Range("B3").Value End Sub
  15. 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.
  16. 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
  17. 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
  18. 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). Het woord 'quasi' is hier wel op zijn plaats, want 'direct' (in enkele minuten) lukt dit slechts weinigen (mij niet in elk geval).
  19. 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
  20. 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....
  21. @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.
  22. Typ in E1 en kopieer naar beneden: =ALS.FOUT(INDIRECT("C"&VERGELIJKEN(D1;A$1:A$8;0));"")
  23. alpha

    formule gevraagd

    In B12: =ALS(B10>C10;B10-C10;"") en in C12: =ALS(B10<C10;C10-B10;"") Dat is een zelfde oplossing als die van JeanPaul, alleen iets (een klein beetje maar) korter.
  24. Celbeveiliging gaat in alle werkbladen op dezelfde manier: "Opmaak" --> "Blad beveiligen".
  25. @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. 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.