Ga naar inhoud

Welkom op PC Helpforum!
PC Helpforum helpt GRATIS computergebruikers sinds 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!

alpha

Lid
  • Aantal items

    1.096
  • Registratiedatum

  • Laatst bezocht

Over alpha

  • Titel
    Vaste Bezoeker

Recente bezoekers van dit profiel

1.606 profielweergaven
  1. 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 .
  2. 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.
  3. Je kunt dit gebruiken: =INDEX(A:A;VERGELIJKEN("zzz";A:A)-1)
  4. 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.
  5. Kolom A hoort er niet bij, wijzig daarom de formule in: =index(B1:CF1;vergelijken(9,9E+307;B1:DA1)-1)
  6. 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.
  7. 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.
  8. 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).
  9. 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.
  10. 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 !
  11. 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?
  12. 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.
  13. 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.
  14. Klik in blad1 op de knop in B1, de resultaten verschijnen dan in blad2. PC-H FredSiegl2.xlsm
  15. 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.
Logo

OVER ONS

PC Helpforum helpt GRATIS computergebruikers sinds juli 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!

×
×
  • 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.