Ga naar inhoud

Lege cellen tellen tussen twee waarden


FredSiegl

Aanbevolen berichten

4 uren geleden, bakerman zei:

Het verschil zit'm hierin dat de laatste kolom bij alpha het verschil weergeeft van elke laatst gevonden kleur tot het einde van de datareeks, dus niet meer het verschil tussen 2 dezelfde kleuren.

Dat is precies wat ik nodig heb! Is het ook mogelijk om die uitkomst altijd in een bepaalde cel te laten weergeven?

Link naar reactie
Delen op andere sites

  • Reacties 46
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

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?

Link naar reactie
Delen op andere sites

De macro van Bakerman geeft het getal hoe vaak een bepaalde kleur niet naar voren is gekomen. Dat is de waarde waarmee ik nu verder wil werken. Deze waarde wil ik in een vaste cel naar voren laten komen, zodat ik die kan gebruiken voor andere doeleinden

Link naar reactie
Delen op andere sites

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.

 

aangepast door alpha
Link naar reactie
Delen op andere sites

Dit is mijn huidige bestand.

 

- Rond B700 zit een knop voor een formulier waarmee ik de data wat makkelijker kan invoeren. (of hotkey ctrl shift + G) 

- M27:S37 is een overzicht van de data die ik gebruik. (met wat voorwaardelijke opmaak)

- B1 heeft een knop met een macro voor het berekenen van de witte cellen(+1) 

 

Vragen

1. Kan ik aan de knoppen in het formulier ook een soort autoload van 'Macro1' toevoegen, zodat al mijn data telkens geupdate wordt?

2. De knoppen van het formulier geven een waarde aan de geselecteerde cel en selecteren daarna de volgende cel. Kan dit ook automatisch onder het laaste stukje data geplaatst worden in kolom A i.p.v. het telkens te moeten te selecteren? (bij begin van het invoeren van data dan)

3. De data uit M27:S37 zou ik altijd in beeld willen hebben om af te kunnen lezen. Wat is de beste optie hiervoor?

 

Groet Fred

 

RacetrackStats.xlsm

Link naar reactie
Delen op andere sites


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