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

een cel selecteren in tabel via VBA

Status
Niet open voor verdere reacties.

polderploer

Gebruiker
Lid geworden
13 sep 2007
Berichten
69
Hallo,

Ik heb een horizontale as met daarin abc e.d. en een verticale as met daarin 123 e.d. Nu heb ik via VBA 2 tekstvakjes waarbij de gebruiker zowel een letter als een cijfer moet invullen. Nu wil ik graag dat de code zorgt dat de bijbehorende cel wordt geselecteerd en bijv. een "x" in deze cel zet. Ik kan alleen geen code vinden, heb al van alles geprobeerd met find, maar denk dat het een combinatie moet zijn van find en offset oid. Echter ik kom er niet uit.

Wie kan mij helpen?
 
Hang je tabelletje erbij en ik zal het nog even schrijven.
 
de huidige code + tabel:

Code:
Private Sub annuleren_button_Click()

Unload Me

End Sub



Private Sub UserForm_Initialize()

ActiveWindow.Activate

Dim vandaag_dag As String
Dim vandaag_maand As String
Dim vandaag_jaar As String

vandaag_dag = Range("vandaag_dag")
vandaag_maand = Range("vandaag_maand")
vandaag_jaar = Range("vandaag_jaar")

Me.dagbox.Value = vandaag_dag
Me.maandbox.Value = vandaag_maand
Me.jaarbox.Value = vandaag_jaar

End Sub

Private Sub toevoegen_button_Click()



    If Trim(Me.dagbox.Value) = "" Then
      Me.dagbox.SetFocus
      MsgBox "vul aub een dag in"
      Exit Sub
    End If

    If Trim(Me.maandbox.Value) = "" Then
      Me.maandbox.SetFocus
      MsgBox "vul aub een maand in"
      Exit Sub
    End If

    If Trim(Me.jaarbox.Value) = "" Then
      Me.jaarbox.SetFocus
      MsgBox "vul aub een jaar in"
      Exit Sub
    End If

End Sub

tevens een afbeelding van de userform en de tabel en o ja ik gebruik excel 2007 ipv 2003, maar dit is geen probleem dacht ik zo.
 

Bijlagen

Laatst bewerkt:
Polderploer zei:
Ik heb een horizontale as met daarin abc e.d. en een verticale as met daarin 123 e.d.
...Ehhhh... Ik zie die 'abc' en '123' niet echt in je voorbeeld staan. ???

Polderploer zei:
Nu heb ik via VBA 2 tekstvakjes
...En óók deze kom ik niet op je form tegen... ???

Heb je een fout bestand toegevoegd? (of kijk IK verkeerd :confused:)

Groet, Leo
 
dit komt omdat ik 2007 formaat gebruik, dat met ABC en 123 was maar een voorbeeld.

Het gaat erom dat ik als gebruiker de x en y as invul en dan het coordinaat als cel select via de macro. voorbeeld:

x 1 2 3
a
b
c

vul ik nu als gebruiker een 2 en b in dan zou in cel C3 een x moeten komen bijvoorbeeld.
 
Polderploer, Ik kan je dan nog steeds niet volgen voor wat betreft het bijgevoegde bestandje... Maar als reactie op je geschreven voorbeeld zou dit een oplossing kunnen zijn (denk aan foutafhandelingen!!!)
Code:
Sub Intersect()
Dim lRegel As Long
Dim lKolom As Long

    'zoek naar de kruising van het gezochte B en 2
    lRegel = Columns("A").Find("B").Row
    lKolom = Rows("1").Find(2).Column
    
    Cells(lRegel, lKolom).Value = "x"

End Sub

Groet, Leo
 
...hierbij nog ff een bestandje met het bepalen van de kruising van 2 gezochte waarden in een tabel. Gemaakt met formules ipv VBA... (voor de liefhebber).

Groet, Leo
 

Bijlagen

Polderploer, Ik kan je dan nog steeds niet volgen voor wat betreft het bijgevoegde bestandje... Maar als reactie op je geschreven voorbeeld zou dit een oplossing kunnen zijn (denk aan foutafhandelingen!!!)
Code:
Sub Intersect()
Dim lRegel As Long
Dim lKolom As Long

    'zoek naar de kruising van het gezochte B en 2
    lRegel = Columns("A").Find("B").Row
    lKolom = Rows("1").Find(2).Column
    
    Cells(lRegel, lKolom).Value = "x"

End Sub

Groet, Leo

bedankt Leo, hierbij ben ik in eerste instantie wel geholpen. Kijk het volgende is de bedoeling, de gebruiker geeft een datum op en een nummer en vervolgens zorgt de macro ervoor dat op de kruising van deze twee gegevens iets wordt neergezet, een "x" of misschien later nog wel wat anders. Voor nu kom ik eerst wel verder. Leuk trouwens dat van onderstaand, maar dat is zoeken in een tabel, terwijl ik dus iets moet wegschrijven in een tabel en dat gaat prima met jou code!

Slaap lekker!
 
Polderploer, Ik kan je dan nog steeds niet volgen voor wat betreft het bijgevoegde bestandje... Maar als reactie op je geschreven voorbeeld zou dit een oplossing kunnen zijn (denk aan foutafhandelingen!!!)

Groet, Leo

Het is weer actueel geworden, echter nu stuit ik idd op het foutafhandelingen punt wat je al noemde:

Als de gebruiker een waarde intoetst welke niet in een kolom staat dan komt er een fout, ik heb van alles geprobeerd, maar ik kom er niet uit, wat ik wil is het volgende:

Indien de waarde niet in de kollom staat, moet deze worden bijgevoegd, dus een extra kolom.

Ik heb gewerkt met if statement e.d. maar kom er niet uit.
 
Wauw... bijna een jaar na dato! :eek:
Plaats je bestandje ff met wat je tot nu toe hebt gebouwd. Dat maakt het oplossen voor de helpers een stuk makkelijker.

Groet, Leo
 
ja klopt, de vorige toepassing was prima hoor, dus dat was al opgelost. Nu gebruik ik hetzelfde weer voor wat anders, waarbij de vrijheid van invullen dus wat groter is. Zie voorbeeld bestandje.

Ik heb een erg versimpelde versie gemaakt, maar hier komt het wel op neer. Tevens gebruik ik 2007, maar toch ff in 2003 opgeslagen voor de mensen die nog geen 2007 hebben.
 

Bijlagen

ja klopt, de vorige toepassing was prima hoor, dus dat was al opgelost. Nu gebruik ik hetzelfde weer voor wat anders, waarbij de vrijheid van invullen dus wat groter is. Zie voorbeeld bestandje.

Ik heb een erg versimpelde versie gemaakt, maar hier komt het wel op neer. Tevens gebruik ik 2007, maar toch ff in 2003 opgeslagen voor de mensen die nog geen 2007 hebben.

Ik heb inmiddels de oplossing gevonden in deze thread:

http://www.helpmij.nl/forum/showthread.php?t=399902&highlight=Find+/+Find+Next
 
Laatst bewerkt:
hier wat voorbeeldcode:

Code:
Private Sub CommandButton1_Click()

'hier moet dus een if statement staan: ALS de kolom niet gevonden wordt, dan de kolom toevoegen (zelfde geldt voor de rij).


Dim lRegel As Long
Dim lKolom As Long
Dim rngRij As Range
Dim rngCol As Range
    
    Set rngRij = Columns("A").Find(Me.TextBox1.Value)
    If rngRij Is Nothing Then
        Range("A" & Range("A2").End(xlDown).Row + 1) = Me.TextBox1.Value
        lRegel = Range("A2").End(xlDown).Row
    End If
    Set rngCol = Rows("1").Find(Me.TextBox2.Value)
    If rngCol Is Nothing Then
        Cells(1, Range("B1").End(xlToRight).Column + 1) = Me.TextBox2.Value
        lKolom = Range("B1").End(xlToRight).Column
    End If
    If lRegel = 0 Then lRegel = rngRij.Row
    If lKolom = 0 Then lKolom = rngCol.Column
    Cells(lRegel, lKolom).Value = "x"

End Sub

edit: oops, iets te laat :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan