Ga naar inhoud

alpha

Lid
  • Items

    1.124
  • Registratiedatum

  • Laatst bezocht

Alles dat geplaatst werd door alpha

  1. De formule hierboven is wel juist, maar de uitkomst daarvan is niet 7 maar 6 personen.
  2. Mijn (laatste) formule hierboven kijk naar zowel voor- als achternaam (dat is ook aan de formule te zien). Niettemin ben ik niet onfeilbaar, daarom mijn vraag: geef a.u.b. eens een voorbeeld waarbij mijn formule tot een onjuist resultaat leidt. Ik vermeld het nog maar eens voor de zoveelste keer, want het wordt vaak vergeten: je hebt de formule toch wel ingevoerd via Ctrl-Shift-Enter, d.w.z.: de Ctrl- en Shifttoets ingedrukt gehouden terwijl je op Enter drukte?
  3. Een iets kortere versie van mijn formule hierboven. Typ in C3 (afsluitend met Ctrl-Shift-Enter) en kopieer naar beneden: =als(isnb(vergelijken(a3;als(e$3:e$510=b3;d$3:d$510;0)));"Nee";"Geantwoord") Als je ook nog wil controleren of de A- en B-cel zijn ingevuld, typ dan in C3 (natuurlijk ook weer afsluitend met Ctrl-Shift-Enter): =als(en(a3>0;b3>0);als(isnb(vergelijken(a3;als(e$3:e$510=b3;d$3:d$510;0)));"Nee";"Geantwoord");"")
  4. Ik neem aan dat je alleen de namen in kolom i bedoelt, omdat je alleen daarvan het aantal maanden hebt berekend. Als de namen in kolom D ook mee moeten doen kun je best alle namen onder elkaar plaatsen, anders moet je onderstaande berekening twee keer uitvoeren en de uitkomsten optellen. "Tussen 4 maanden en 15 maanden" wil zeggen: meer dan 4 maanden en minder dan 15 maanden. Dat kun je bv. op deze manier berekenen: =aantal.als(L7:L31;">4")-aantal.als(L7:L31;">14") Uitkomst: 7 Voor het aantal tussen 16 en 30 maanden moet je in bovenstaande berekening alleen de getallen van de maanden aanpassen.
  5. Dit zal wel het resultaat geven wat je wenst. Typ in C3 en sluit de invoer af met Ctrl-Shift-Enter (vergeet dat niet!!) : =als.fout(als(vergelijken(a3;als(e$3:e$10=B3;d$3:d$10;0));"Geantwoord";"");"Nee")
  6. @vermhans9000, Het ontgaat mij waarom je de namen twee keer in je bestand opneemt als je alleeen maar wil weten of iemand wel of niet gereageerd heeft. Het is dan toch veel praktischer om in een kolom bv. een kruisje te plaatsen als iemand gereageerd heeft (of "Ja") ?
  7. Bovenstaande formule is niet juist als bv. dezelfde achternaam 2 keer voorkomt (met verschillende voornamen) en beide namen 'geantwoord' hebben. Zal wat anders zoeken.
  8. Typ in C3 en kopieer naar beneden: =als.fout(als(vergelijken(a3;d$3:d$510;0)=vergelijken(b3;e$3:e$510;0);"Geantwoord";"");"Nee")
  9. Goed opgemerkt Dotchiejack ! In het uiteindelijke resultaat blijken er geen miljoenen kleuren te zijn, maar slechts 2 (en slechts 1 'vorige' kleur). Dat maakt de vraag vele malen eenvoudiger. @rik Als je toch al twee keer de colorindex gebruikt, waarom doe je dat dan ook niet de derde keer? Color = RGB(146, 205, 220) in vrijwel dezelfde kleur als Colorindex = 37 .
  10. Heb je gezien dat ik ze gewijzigd heb? In eerste instantie had ik de -1 vergeten. Ze zou nu de naam van de juiste kleur moeten weergeven. Als dat bij jou niet zo is, wat is dan het probleem? Als je de formule in een ander blad dan blad1 gebruikt, dan moet je wel de naam van blad1 in de formule vermelden.
  11. Je kunt dit gebruiken: =INDEX(A:A;VERGELIJKEN("zzz";A:A)-1)
  12. Nog een correctie. Het bereik van Index behoort natuurlijk wel hetzelfde te zijn als bij 'vergelijken', dus: =index(B1:DA1;vergelijken(9,9E+307;B1:DA1)-1) Dit alles in de verondersterstelling dat je gegevens niet verder lopen dan kolom AD.
  13. Kolom A hoort er niet bij, wijzig daarom de formule in: =index(B1:CF1;vergelijken(9,9E+307;B1:DA1)-1)
  14. Voor rij 1 in Blad2: =index(A1:DA1;vergelijken(9,9E+307;A1:DA1)-1) Naar beneden kopiëren voor rij 2 en volgende rijen.
  15. Zoals ik al schreef: als je M27:S36 in beeld wil hebben, dan experimenteer je wat met verschuiven van rijen en kolommen. Als je dat doet terwijl de recorder aan staat, dan wijzig je de code net zo lang tot je in beeld hebt wat je in beeld wil hebben. Bv. je macro afsluiten met: With ActiveWindow .ScrollRow = 26 .ScrollColumn = 8 End With Bovenstaande doet het goed op mijn computer, maar dat kan op de jouwe anders zijn; gewoon de getallen aanpassen indien nodig Hoe mijn eigen code eruit ziet, dat weet ik uiteraard wel, dus die hoef je op het forum niet te herhalen. Zoek bij elke opdracht in de vba-helpfile op wat die doet en wat ze betekent en oefen er dan mee, dan begrijp je ze wel. Als je nog niet veel ervaring hebt met vba (en Excel zonder vba goed kent, dat is een minimum-voorwaarde), dan kun je best met zeer eenvoudige dingen beginnen en je niet te veel tegelijkertijd op de hals willen halen. Ik heb de indruk dat dat laatste het geval is, maar ik kan me vergissen.
  16. Ja, daarvoor moet je onderaan je code alleem maar macro1 te typen, als macro1 de de macro is die je gegevens updatet. Ja. Hoe je iets onder de laatste cel plaatst, kun je uit de macro's halen die ik hierboven plaatste. Om de kleur mee te kopiëren zou je de RGB-waarde moeten weten omdat je je kleuren hebt gekozen uit het miljoenenpallet (uit de kleurenindex zou eenvoudiger geweest zijn voor het programmeren). Dat probleem kun je omzeilen door aan de cellen met de kleurennamen in de eerste rij de kleuren toe te voegen; je kunt dan, als je in het formulier een kleur hebt gekozen, bepalen welke cel daar bovenaan mee overeenkomt en die cel kopiëren naar de eerstvolgende cel onderaan in de eerste kolom. Je hoeft dan geen RGB-waarde te weten. Zet de macrorecorder aan terwijl je dat bereik in beeld brengt, dan heb je meteen de code (ongeveer).
  17. Wel, dat zijn toch de getallen die mijn macro op blad2 als laatste in elke rij plaatst? Om snel klaar te zijn, heb ik aan mijn macro een stukje toegevoegd (het kan dus sneller en efficiënter), die komt er dan zo uit te zien: Sub macro1() Dim a As Integer, cl As Range, k As Integer, kl As String, lr As Integer Dim mc As Range, r As Integer, st As Integer, x As Integer, y As Integer Sheets(2).Cells.ClearContents With Sheets(1) r = 1: lr = .Cells(.Rows.Count, 1).End(xlUp).Row Set mc = .Range("c1:l1") For Each cl In mc k = 1: kl = cl.Value Sheets(2).Cells(r, 1) = kl st = Application.Match(kl, .Range("a1:a" & lr), 0) For x = st To lr y = 1 Do While (x + y) <= lr And .Cells(x + y, 1).Value <> kl y = y + 1 Loop k = k + 1 Sheets(2).Cells(r, k).Value = y st = x + y: x = x + y - 1 Next x r = r + 1 Next cl End With With Sheets(2) lr = .Cells(.Rows.Count, 1).End(xlUp).Row + 2 r = lr + 2 For y = 1 To lr .Cells(r, 1).Value = .Cells(y, 1).Value .Cells(r, 2).Value = .Cells(y, .Cells(y, .Columns.Count).End(xlToLeft).Column) r = r + 1 Next y End With End Sub Wil je bij nader inzien niet het laatste- maar voorlaatste getal, dan behoeft de macro slechts een zeer kleine aanpassing.
  18. Welke getallen wil je dan als resultaat? Is dat 11, 1, 4, 7, 3, 14, 12, 5 16, 2 of is het wat anders? Als het wat anders is, geef dan de getallen aub !
  19. Als je al met een macro werkt, dan is het handiger om dat wat je nog nodig hebt, daaraan toe te voegen. Bedoel je met "Dat is precies wat ik nodig heb", het laatste getal dat mijn macro inelke rij in blad2 plaatst?
  20. Als je een vergelijking maakt moet je die wel in precies dezelfde omstandigheden uitvoeren (zeker als je het over minieme delen van seconden hebt), en dat doe je niet als je twee macro's na elkaar laat lopen. Maar over die enkele hondersten van seconden ga ik verder geen discussie voeren.
  21. bakerman, Uiteraard verlopen berekeningen in het geheugen van de computer sneller dan in het werkblad. In dit geval is er een verschil van 0,07 seconde (zeven-honderdste van een seconde), knap man of vrouw die dat met het blote oog kan opmerken.
  22. Klik in blad1 op de knop in B1, de resultaten verschijnen dan in blad2. PC-H FredSiegl2.xlsm
  23. Als de standen in kolom A staan, beginnend in A2, typ in B3: =A3-A2 en kopieer naar beneden in kolom B. Typ in C3: =GEMIDDELDE(B$3:B3) en kopieer naar beneden in kolom C.
  24. Ik begrijp het niet helemaal, maar dat kan aan mij liggen. Als ik het goed zie dan heb je ik kolom 1 alle mogelijke kleuren staan en die verdeel je over de andere kolommen. Hoe die verdeling in zijn werk gaat, is mij niet duidelijk, maar misschien hoef ik dat ook niet te weten om de berekening te kunnen maken die je wil. Als we alleen kijken naar kolom 1, dan komt geel voor in de rijen 2, 13, 27, 38, 40, 54, 64, enz. Moet je dan als resultaat het verschil tussen die rijen weten, dus 11, 14, 11, 2, 14, 10, enz. ? En daarna dezelfde berekening voor alle andere kleuren in kolom 1 (oranje, blauw, rood, wit, enz.)? Als dat niet juist is, geef dan aub aan wat (welke getalllen) je als uitkomst wil en op grond waarvan. Overigens: als het spel goed gemaakt is, dan zou de volgorde van de kleuren 'at random' gekozen moeten worden en zou je er geen bepaald systeem in moeten kunnen ontdekken.
  25. Maar wil je nu de 1 wel of niet, daar waar opeenvolgende cellen niet leeg zijn? Want dat kan uiteraard wél.
×
×
  • 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.