• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Welke formule te gebruiken ?

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Hallo,

Ik beschik over een tabel waarin de speeldagen van een competitie verzameld zijn. In 't kort :

............ploeg 1...ploeg 2....ploeg 3
ploeg 1...1............3............2........
ploeg 2...2............1............3........
ploeg 3....

linkerkolom zijn de thuiswedstrijden
bovenste rij uitwedstrijden

Mijn bedoeling is om een tabel op te maken zoals we ze allemaal kennen uit o.m. de krant :

speeldag 1

ploeg 1 - ploeg 2
ploeg 3 - ploeg 4
....

Ik probeer via horiz.zoeken, vert.zoeken, zoeken, ... maar denk dat het niet zo eenvoudig is om die tabel te vormen. Weet iemand raad ?

dbv,

Stefano

PS : in de bijlage het origineel bestand.
 

Bijlagen

Ik heb iets analoogs voor alle voetbalbestanden op mijn site.

Ik heb al vaak nagedacht over formules om dit op te lossen, maar ik kan dat niet.

Met VBA is wel het één en ander mogelijk.

Zie helpfiles voor een uitgewerkt voorbeeld van FindNext. Daarmee moet het lukken.

Maak een lus van 1 tot en met het maximum van dat bereik (aantal speeldagen dus). Telkens zoek je bijhorende matchen voor die bepaalde speeldag.

Wigi
 
Halllllllllllooooooo ,

Wow, geen spek voor mijn bek. Het werkt en alvast dank voor je antwoord. Ik zou zoiets nooit zelf in elkaar kunnen steken. Ik vermoed dat Wigi hier ook wel blij zal om zijn.

dank !!!

Stefano
 
Ik vermoed dat Wigi hier ook wel blij zal om zijn.

Echt zeer knap gevonden! Maar ik blijf toch bij mijn macro oplossing, gegeven het grote aantal (matrix) formules. Beide hebben voor- en nadelen natuurlijk. Nogmaals Guy, knap gedaan.

Wigi
 
In dit specifiek geval gaan de matrix formules weinig invloed hebben op de rekentijd, daar deze maar een bereik hebben van een 15-tal cellen en zijn ze daarenboven zo ontworpen dat je ze gewoon naar beneden kan copieren !

GiMe
 
Hoi

Als ik later nog eens aan de bestanden werk, zal ik gaan experimenteren en zien wat het beste en handigste is. Bedankt.

Wigi
 
beetje verder

Ik heb een tabel met alle wedstrijden onder elkaar. Ik wil tussen speeldag 1 en 2 een lijn invoegen, tussen 2 en 3, tussen 3 en 4 enz. Ik probeer via onderstaande code :

Code:
Sub test()

    Dim i As Integer

    For i = 1 To 24
' 24 speeldagen
    
    Find i + 1
' ik veronderstel dat hier naar cijfer 2 gezocht wordt ( = 2de speeldag)
' dan die range selecteren a10:d10   range(....

    Selection.insert Shift:=xlDown

    Next i
    
End Sub

Ik probeer dus te zoeken naar de plaats waar het cijfer van de speeldag verandert van 1 naar 2 om daar de vier cellen naast elkaar te selecteren en een rij te doen opschuiven. Maar ... hoe vertaal ik dat naar vba ?

vb in bijlage
 

Bijlagen

Laatst bewerkt:
Code:
Sub Opschuiven()
    Dim i As Integer
    Dim ZoekBereik As Range
    Dim rSpeeldag As Range
    
    Set ZoekBereik = Range("A3", Range("A3").End(xlDown))
    
    For i = 1 To 25
        Set rSpeeldag = ZoekBereik.Find(i + 1, LookIn:=xlFormulas, lookat:=xlWhole)
        If Not rSpeeldag Is Nothing Then
            Rows(rSpeeldag.Row).Insert
        End If
    Next
End Sub

Wigi
 
Dank voor je antwoord Wigi.

Ik stel vast dat deze code een rij invoegt in het werkblad, hetgeen gevolgen heeft voor de kolommen ernaast en ervoor. Als ik enkele de cellen in kolom A tot D een positie wil laten zakken dan moet ik wellicht

Rows(rSpeeldag.Row).Insert

vervangen door een range, maar

Range (..rspeeldag....).Insert

zal hier zeker niet de juiste oplossing zijn :o
 
Code:
Range("A" & rSpeeldag.Row, "D" & rSpeeldag.Row).Insert

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan