VBA code gevraagd

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Hoi Experts,

Wie kan mij aan een VBA code helpen die wordt geactiveerd als op een bepaalde cel wordt geklikt en dan een code zet in de geselecteerde cellen.
Tevens dient zodra op de cel wordt geklikt gecontroleerd worden of de gebruiker niet buiten het werk gebied komt.

Zie bijlage dan is e.e.a. wel duidelijk.



alvast bedankt
Jan E
 

Bijlagen

Enkel-klikken is voor een cel niet af te vangen. Je kunt een knop gebruiken, of dubbelklikken, maar niet een klik op een andere cel (dat zou overigens per definitie je voorgaande selectie ongedaan maken.
 
Goede morgen allen,

Wampier bedankt voor je reactie, inderdaad een klik gaat niet werken. Stom van mij !
Nu 4 commandbuttons gemaakt, wie weet welke code hieronder moet komen om mij vraag op te lossen.

Bijlage maakt e.e.a wel duidelijk.
Bekijk bijlage helpmij1.xlsm

groet
Jan E
 
Toch wel....

Jan Excel,

Het is wel degelijk mogelijk om een cel als knop te gebruiken als je de eerste selectie maar ergens
opgeslagen hebt. Plak het volgende voorbeeld maar eens in je bestand.

Code:
Dim rOudeRange As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim sVulstring As String
Dim rCell As Range

If Not Application.Intersect(Target, Range("$Q$79:$DH$100")) Is Nothing Then
    If Target.Cells.Count > 1 Then
        Set rOudeRange = Target
    End If
ElseIf Not Application.Intersect(Target, Range("A79:A82")) Is Nothing Then
    Select Case Target.Address
    Case "$A$79"
        sVulstring = "T"
    Case "$A$80"
        sVulstring = "V"
    Case "$A$81"
        sVulstring = "B"
    Case "$A$82"
        sVulstring = "O"
    End Select
    For Each rCell In rOudeRange
        rCell.Value = sVulstring
    Next
Else
    MsgBox "Ongeldige selectie", vbInformation
End If

End Sub

Wel de eerste dim buiten de procedure houden anders "vergeet" het programma de selectie.

Veel Succes.
 
Beste Elsendoorn2134,

Bedankt voor je reactie,
Jou code werkt, echter bij nader inzien is het voor mijn project beter om de letters toe te voegen bij een klik op een bepaalde button.
Enige foutje in jou code is wel dat als ik een selectie maak in het toegestane bereik en dit doortrek buiten het toegestane bereik zet het de letters ook buiten het toegestane bereik erin, dit mag dus niet.
Als dit niet te ondervangen is met een code mag je deze er wel uit laten.

Verlengde van instructie "Private Sub Worksheet_SelectionChange(ByVal Target As Range" hangen er nu al diverse VBA codes er onder en dit geeft een conflict met jou VBA code erbij.

Daarom kies ik toch maar voor commando buttons.

Dus wel maak ik eerst een selectie in het gebied Q79:DH100 en daarna op betreffende button klikken met de daarbij horende letter.
De code aan deze button dient dan eerst te checken of het binnen de toegestane bereik is, zo ja dan mag het de letter in de geselecteerde cellen zetten.
Ongeldig bereik dan msgbox "ongeldig bereik geselecteerd, maak een nieuwe selectie" bevestigen met OK.

Button 1 = T
Button 2 = V
Button 3 = B
Button 4 = O


Welke codes moet ik dan in de aan de CMDbuttons hangen,

Al vast bij voorbaat dank.
zie vorige bijlage met de buttons

Jan E
 
Jan Excel,

De code die je nodig hebt voor de test is de volgende.

Code:
Private Sub CommandButton1_Click()
Dim aCell As Range
    For Each aCell In Application.Selection
            aCell.Value = "T"
    Next
End Sub

Ik denk dat je overige zelf kan bedenken.

Veel Succes.
 
Beste Elsendoorn2134,

Bedankt voor je code, hier kan ik wel verder mee.
deze vraag zet ik nu op opgelost.


groet,
Jan E
 
Of

Code:
Private Sub CommandButton1_Click()
    ZetLetter 1
End Sub

Private Sub CommandButton2_Click()
    ZetLetter 2
End Sub

Private Sub CommandButton3_Click()
    ZetLetter 3
End Sub

Private Sub CommandButton4_Click()
    ZetLetter 4
End Sub

Sub ZetLetter(x)
    If Not Intersect(Selection, Range("Q79:DH100")) Is Nothing Then
        Selection.Value = Choose(x, "T", "V", "B", "O")
    End If
End Sub
 
Stel je geeft de 'Caption' van de opdrachtknop de letter die in een cel gezet moet worden.
Wat zou dan de eenvoudigste code kunnen zijn ? (structureren gaat aan coderen vooraf).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan