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

Cell via selectionchange aanpassen naar nieuwe waarde

Status
Niet open voor verdere reacties.

Dolfke

Gebruiker
Lid geworden
18 apr 2008
Berichten
195
Hallo allemaal,

Ik zit nog maar eens vast .

Ik heb een matrix opgesteld waarbij ik een maand overzicht heb van personen.

In deze matrix kan ik een cell selecteren en nu probeer ik te maken dat ik dan de naam van de persoon en datum van de geselecteerde cell kan weergeven in een aparte cell.

Ik maak gebruik van selection_Change.
Vermits ik met een nummering werk in de eerste kolom kan ik deze gebruiken als offset om de juiste datum te selecteren.

Ik geraak er echter niet uit , iemand een idee

Zie bijlage voor verduideling.

Bedankt
Mvg Dolfke
 

Bijlagen

  • Test1.xls
    25 KB · Weergaven: 19
In het bestand zit code dat de bijbehorende gegevens van de geselecteerde cel in de cellen B5 en B6 plaatst.

Met vriendelijke groet,


Roncancio
 

Bijlagen

  • Test1-1.xls
    36 KB · Weergaven: 15
Laatst bewerkt:
Hallo Roncancio,

Knap gevonden .

Enkel voor de datum klopt er iets niet, als je een waarde in de matrix invuld en je selecteerd een cell die onder de ingevulde waarde in de matrix ligt , dan neemt hij dus de eerst bovenliggende waarde in de matrix en niet de datum.

Kan je eens kijken ?

Bedankt

Dolfke
 
Laatst bewerkt:
Volgens mij klop het zo beter.

Met vriendelijke groet,


Roncancio
 

Bijlagen

  • Test1-1-1.xls
    36 KB · Weergaven: 14
Hallo Roncancio ,

Jammer genoeg werkte het nog niet .
In de 2de matrix stond de maand december wn als je hierin iets aanklikte kreeg je als datum , de datum van de eerste matrix (wat november is)

Maar door uw codes ben ik tot onderstaande code kunnen komen

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng1 As Range
Dim Rng2 As Range
Dim Rng3 As Range
Dim LockedRange As Range

    Set Rng1 = Range("A1:AH9")
    Set Rng2 = Range("A10:C38")
    Set Rng3 = Range("AI10:AL38")

    Set LockedRange = Union(Rng1, Rng2, Rng3)
If Range("A" & Target.Row).Value >= 1 And Range("A" & Target.Row).Value <= 13 Then
   If Intersect(Target, LockedRange) Is Nothing Then
      Range("C5").Value = Range("B" & Target.Row).Value
      Range("C6").Value = Cells(Target.Row - Range("A" & Target.Row).Value, Target.Column).Value
   Else
      Range("C5").Value = ""
      Range("C6").Value = ""
   End If
Else
   Range("C5").Value = ""
   Range("C6").Value = ""
End If

End Sub

Denk niet dat dit de beste code is , maar voorlopig doet die wat ik wil.

Zal wel korter en beter kunnen .

Toch bedankt voor de aanzet.

Groetjes
Dolfke
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[C5:C6].ClearContents
If Not Intersect(Target, [D10:AG22]) Is Nothing Then
    [C5] = Range("B" & Target.Row).Value
    [C6] = Cells(9, Target.Column).Value
End If
If Not Intersect(Target, [D25:AH37]) Is Nothing Then
    [C5] = Range("B" & Target.Row).Value
    [C6] = Cells(24, Target.Column).Value
End If
End Sub
 
Bedankt allemaal.

Ik kan voorlopig verder

Groetjes
Dolfke :)
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  [C5:C6].ClearContents
  If Not Intersect(Target, [D10:AG22,D25:AH37]) Is Nothing Then
    [C5:C6] = split(cells(Target.Row,2) & "|" & cells(9 + iif(target.row>24,15,0),target.column),"|")
  End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan