Laden van gegevens in InputBox

Status
Niet open voor verdere reacties.

HammerJohn

Gebruiker
Lid geworden
27 apr 2016
Berichten
173
Hallo ik heb een agenda blad waar ik met de volgende VBA formule een InputBox na het dubbel klikken in de cel
laat openen. Alleen als er in de betreffende cel iets staat zet hij het er achter, is het ook mogelijk om in de InputBox
de gegevens uit de cel zichtbaar te maken. Of moet ik dan totaal iets anders doen.

Op zich werkt dit goed alleen wat in de cel staat zou gewist mogen worden of eigenlijk het liefst zichtbaar worden in de
InputBox.
Ik heb een test bestandje mee gestuurd, is geheel uitgekleed alleen de dubbelklik functie is ingeschakeld.
Bij voorbaat vriendelijk bedankt.

Groet,
John

HTML:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("b26:h42")) Is Nothing Then Target = [d24]
    Cancel = True
    If Not Intersect(Target, [B6:PH22]) Is Nothing Then
    If Target <> "" Then GoTo aanvulling
       Target = InputBox("Vul de afspraak in maar gebruik altijd één van de steek woorden" & vbLf & "Arbeid - Activiteiten - Opmerkingen - Overleg-" & vbLf & "Afspraak - Vrij van arbeid - Verlof - Ziek - Werk-" & vbLf & "Groepsgesprek - Begeleiding res. auto - Arbeid res. auto.", "Invoeren afspraken of opmerkingen voor deelnemers.")
       Cancel = True
  End If
Exit Sub
aanvulling:
Target = Target & " " & InputBox("Vul de afspraak in maar let op de steek woorden.:", "Invoeren afspraak deelnemer.")
Cancel = True
 End Sub
 

Bijlagen

Je hebt aanvulling: volgens mij niet nodig; het kan met één stap.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("b26:h42")) Is Nothing Then Target = [d24]
    Cancel = True
    If Not Intersect(Target, [B6:PH22]) Is Nothing Then
       Target = Target & InputBox("Vul de afspraak in maar gebruik altijd één van de steek woorden" & vbLf _
        & "Arbeid - Activiteiten - Opmerkingen - Overleg-" & vbLf & "Afspraak - Vrij van arbeid - Verlof - Ziek - Werk-" & vbLf _
        & "Groepsgesprek - Begeleiding res. auto - Arbeid res. auto.", "Invoeren afspraken of opmerkingen voor deelnemers.", Target.Value)
       Cancel = True
  End If
 End Sub
 
Is dit de bedoeling?
Als je in een gevulde cel gaat staan en dubbelklik komt de waarde van de gevulde cel in de combobox te staan.
Je kan een cel wissen met de knop wissen.
Om een cel te vullen, kies een waarde in de combobox en druk op OK.
Je kan niets invullen die niet in de comboboxlijst voorkomt.
 

Bijlagen

Met de oplossing van Octafish ben ik bijna waar ik wezen wil, alleen als ik de bestaande afspraak wil wijzigen zet hij hem er nog
een keer achter. Kan hij hem wel laden in de Input box maar de cel leegmaken voor ik het weer weg schrijf, zodat een aanpassing
geen dubbele tekst geeft.
 
Haal de rode tekst eruit.
Code:
Target = [COLOR=#ff0000]Target & [/COLOR]InputBox(
 
Als je dat doet, voegt hij de twee niet samen. Tenzij je alles vanuit de inputbox beschouwt als de nieuwe waarde, wat mijn voorkeur overigens ook zou hebben. Auatomatisch alles bij elkaar rossen vind ik een onhandige werkwijze.
 
Super bedankt, dat is wat mijn collega wilde.... ik had het liever met een userform gedaan maar dit is in de praktijk
een goede oplossing
gast0660 ook bedankt, ook dat zou een goede optie zijn maar er moet ook tekst ingevoerd worden.

nogmaals bedankt voor je hulp.

met vriendelijke groet,
John
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan