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

VBA Kruispunt van kolom en rij

Status
Niet open voor verdere reacties.

Bridelance

Gebruiker
Lid geworden
10 okt 2007
Berichten
30
Ik ben iets aan het schrijven in VBA, maar om wat sneller klaar te zijn met programmeren zoek ik een andere manier om cellen te selecteren.

Ik ga het uitleggen met een voorbeeldje:
Stel je hebt een kolom die je hernoemd hebt naar "boterham"
Je hebt ook een rij die je hernoemd hebt tot "kaas"

Nu wil je de cel die het kruispunt is van die kolom en die rij een waarde invullen. Hoe moet je dan die cel selecteren via VBA??
 
Met de functiesCells en en Range kan je in VBA cellen selecteren... maar dat weet je waarschijnlijk al...
 
Bridelance, Dat doe je met de methode 'intersect'. Hierbij een voorbeeldje...
Code:
Sub Kruispunt()

    Set isect = Application.Intersect(Rows(4), Columns(5))
    If isect Is Nothing Then
        MsgBox "Kolom en rij kruisen niet..."
    Else
        MsgBox isect.Address
    End If

End Sub

En als je dus in je code de cel wilt selecteren, is het 'isect.select'.

Groet, Leo
 
Laatst bewerkt:
:o:o dat werkt :)

bedankt!!


Maar nu zit nog met 2 probleempjes :p
Ik wil nu vanuit een andere plaats naar deze functie verwijzen. Bijvoorbeeld: selecteer de cel in het snijpunt van de kolom "boterham" en de rij "kaas".
- Hoe met je dat juist weer doen?? (Ik heb dat enkele jaren terug wel al eens gezien maar helemaal vergeten hoe het precies gaat :confused: )

- Hoe laat je de functie "kruispunt" het snijpunt zoeken van een kolom en een rij die een naam hebben gekregen. Ik bedoel dus zoiets:
Code:
Sub Kruispunt()

    Set isect = Application.Intersect(Rows([COLOR="Red"]Kaas[/COLOR]), Columns([COLOR="Red"]Boterham[/COLOR]))
    If isect Is Nothing Then
        MsgBox "Kolom en rij kruisen niet..."
    Else
        MsgBox isect.Address
    End If

End Sub
Maar zo gaat het dus niet :(
 
Bridelance, Maar met
Code:
Set isect = Application.Intersect(Range("Kaas"), Range("Boterham"))
zou het wel moeten lukken. (niet getest!)

Groet, Leo
 
Ik zou er persoonlijk een functie van maken:

Code:
Sub VindKruispunt()

    If Not Kruispunt(Range("Kaas"), Range("Boterham")) Is Nothing Then
        Kruispunt(Range("Kaas"), Range("Boterham")).Select
    End If

End Sub

Function Kruispunt(sBereik1 As Range, sBereik2 As Range) As Range
    
    If sBereik1 Is Nothing Or sBereik2 Is Nothing Then
        Set Kruispunt = Nothing
    Else
        Set Kruispunt = Application.Intersect(sBereik1, sBereik2)
    End If

End Function

Wigi
 
Kan ook op onderstaande manier

Code:
Cells(Range("kaas").Row, Range("Boterham").Column).Value = "Jouw waarde"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan