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

Horizontaal & Verticaal zoeken middels VBA

Status
Niet open voor verdere reacties.

Humadgen

Gebruiker
Lid geworden
16 aug 2006
Berichten
251
Hoi

Ik heb een spreadsheet waarin ik middels een Inputbox de gebruiker een score wil laten invullen. De score moet op een andere sheet op in een nog "onbepaalde cel" komen te staan. (onbepaald omdat deze zowel horizontaal en verticaal afhankelijk is van de persoon waar de score bij hoort.)

Het probleem waar ik mee zit is dat de VBA code eerst moet zoeken naar de naam die bij de persoon hoort (horizontaal zoeken) en vervolgens de waarde moet plaatsen in de eerste lege cel onder deze naam (verticaal zoeken)

De naam wil ik in een dropdownbox laten verschijnen, dus de stappen die de gebruiker moet nemen zijn:
1. selecteer de naam uit de dropdownbox.
2. start de macro om de score inte vullen = Inputbox

en de macro moet
3. op het andere sheet de naam zoeken en vervolgens de eerste lege cel onder die naam.

Eigen probeersel tot nu toe:
1. De Dropdownbox, uiteraard geen probleem. waarde staat in sheet1
2. De Inputbox routine lukt me wel tot aan het moment waar ik moet gaan zoeken op een ander blad.
Eenmaal in de juiste kolom in het nieuwe blad lukt het zoeken naar de lege cel len het plaatsen van de waarde van de Inputbox lukt ook. (zie onderste stuk code)


Code:
Sub naam_1()
    
'   Input box routine
Dim strScore As String
Dim intResponse As Integer

'   Vraag om input
Do
    strScore = InputBox("Please enter the score." & vbCrLf & vbCrLf & _
                "DO NOT ENTER 'nothing' (= leave blank)")

'   Waarschuwing dat er "niets staat" en vraag om opnieuw te proberen
        If strScore = "" Then
            intResponse = MsgBox("You entered 'Nothing'." & vbCrLf & vbCrLf & _
                    "This cannot be processed." & vbCrLf & vbCrLf & _
                    "Do you want to try again?", _
                    vbExclamation + vbYesNo, "WARNING")
'   Breek eventueel routine af
        If intResponse = vbNo Then
            Sheets("Sheet2").Select
        Exit Sub
        End If
        
'   Bevestiging van de mogelijke input
        Else
            intResponse = MsgBox("You will enter: " & (strScore) & vbCrLf & vbCrLf & _
                    "Are you sure that this is correct?", _
                    vbQuestion + vbYesNo, "RESPONSE")
'   Laatste kans om af te breken
            If intResponse = vbNo Then
                MsgBox "You selected 'No'" & vbCrLf & vbCrLf & _
                    "Please start over, or Use the Macro: 'ABORT Input Score'", _
                    vbInformation, "FYI"
            Exit Sub
            End If
'   Alles accoord dus doorgaan met plaatsen van data

'ONBEKEND = HOE TE (HORIZONTAAL) ZOEKEN NAAR DE KOLOM DIE HOORT BIJ DE WAARDE VAN DE DROPDOWNBOX

'   Plaatsen van de input in de eerste lege cel
           Do
           ActiveCell.Offset(1, 0).Select
           Loop Until IsEmpty(ActiveCell.Offset(0, 0))
           ActiveCell.Value = strScore

Exit Do
        End If
Loop

End Sub

Ik zoek dus nog het stuk code wat me naar het andere blad brengt en daar de Horizontaal zoekt naar de naam van de dropdownbox.

Kan iemand me aan dit stukje helpen?

Als je op sheet 1 begint dan zie je wat de gebruiker zou moeten zien. (dropdownbox en een Macro button) die doet daar niet watie moet doen.
Als je op sheet 2 begint en cel B1 C1 of D! selecteerd, dan doet de Macro wel wat er moet gebeuren, maar dan sta je al in de kolom. (en dat wou ik nog niet)


Thanks
Humadgen.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan