• 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 rij zoeken in de sheet op basis van 2 textboxen uit een userform

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
535
Goede middag specialisten,

Als ik doubleclick in een A-cel van mijn sheet gaat er een userform open om prestaties in te voeren.
Alle noodzakelijke gegevens uit de rij zijn te zien in mijn userform : naam, voornaam, ....

In de userform geef ik bv de prestatie van januari in en klik op de button "Update Prestaties"

De code achter deze button staat hieronder.

Voor zover ik zelf de code kan analyseren gaat Excel op zoek naar de rij die overeenkomt met het gegeven uit txtNaam van mijn userform.

Eens gevonden gaat hij de rij updaten.

Er vormt zich echter een probleem wanneer in mijn sheet bv 5 rijen zijn met dezelfde naam (is mogelijk).

In de bijlage zal je zien : Tab Apothekers A8 tem A13 : De Spiegeleere

Wanneer ik bv de naam in A13 doublecklick komt de userform met de juiste gegevens uir de geselecteerde rij, ik vul de prestatie in, klik "Update Prestatie" en dan doet hij de update in rij 8 en niet in 13.

Bij de eerste De Spiegeleere hij vind dus.


Mijn vraag nu, kan ik Excel de rij laten zoeken op basis van 2 textboxen zodat de update in de juiste rij wordt toegepast?

De 2e textbox zou txtHoedanigheid zijn omdat deze altijd uniek is. Geen dezelfde Naam met dezelfde Hoedanigheid.

Hoe moet ik dan mijn code aanpassen?

Thanks


Code:
Private Sub cmdUpdatePrestaties_Click()
      
      Dim Apothekers As Worksheet
      Dim FoundCell As Range
      Dim Search As String
      Dim eRow As Long


      Set wsApothekers = ActiveSheet
      Search = txtNaam.Text
     With wsApothekers
        Set FoundCell = .Columns(1).Find(Search, LookIn:=xlValues, LookAt:=xlWhole)
        If Not FoundCell Is Nothing Then
             eRow = FoundCell.Row
        Else
             eRow = .Cells(.Rows.Count, 1).End(x1Up).Offset(1, 0).Row
        End If
         If txtJanuari <> "" Then .Cells(eRow, 28).Value = Format(txtJanuari.Value, "[hh]:mm")
         If txtFebruari <> "" Then .Cells(eRow, 30).Value = Format(txtFebruari.Value, "[hh]:mm")
         If txtMaart <> "" Then .Cells(eRow, 32).Value = Format(txtMaart.Value, "[hh]:mm")
         If txtApril <> "" Then .Cells(eRow, 35).Value = Format(txtApril.Value, "[hh]:mm")
         If txtMei <> "" Then .Cells(eRow, 37).Value = Format(txtMei.Value, "[hh]:mm")
         If txtJuni <> "" Then .Cells(eRow, 39).Value = Format(txtJuni.Value, "[hh]:mm")
         If txtJuli <> "" Then .Cells(eRow, 42).Value = Format(txtJuli.Value, "[hh]:mm")
         If txtAugustus <> "" Then .Cells(eRow, 44).Value = Format(txtAugustus.Value, "[hh]:mm")
         If txtSeptember <> "" Then .Cells(eRow, 46).Value = Format(txtSeptember.Value, "[hh]:mm")
         If txtOktober <> "" Then .Cells(eRow, 49).Value = Format(txtOktober.Value, "[hh]:mm")
         If txtNovember <> "" Then .Cells(eRow, 51).Value = Format(txtNovember.Value, "[hh]:mm")
         If txtDecember <> "" Then .Cells(eRow, 53).Value = Format(txtDecember.Value, "[hh]:mm")
     End With
     Unload Me
End Sub


Bekijk bijlage Prestaties CCF Design.xlsb


Greetz

Pascal
 
Als je het Rijnummer van waaruit je het formulier opent gebruikt, weet je exact welke rij je moet bijwerken. Dan hoef je ook de rij niet meer op te zoeken.
 
OctaFish,

En hoe moet ik dat dan formuleren in de code?

Thanks

Pascal
 
Bij het initialiseren van je form zet je in de 'Tag' het rijnummer.

Code:
txtnaam.tag = activecell.row

bij het wegschrijven neem je...
Code:
eRow = txtNaam.Tag
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan