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

Tekst in cel plaatsen als andere cel een waarde bevat

Status
Niet open voor verdere reacties.

NiekvanMeer

Gebruiker
Lid geworden
30 sep 2013
Berichten
129
Goedenavond,

Allereerst de beste wensen!

Bijgevoegd document wordt op ons werk gebruikt om belangrijke zaken in te rapporteren.
De leidinggevende(n) van dienst kiest in kolom B of kolom C zijn initialen uit.
De cel waar de initialen in staan wordt groen, als mede de cel in kolom E in dezelfde rij.

Graag zou ik het volgende toegevoegd zien:
Wanneer de initialen in kolom B en/of kolom C gekozen worden, dient de tekst "Alarmen PCS7:" te verschijnen in de groengekleurde cel in kolom E van dezelfde rij.

Bedankt voor de hulp.

Groeten,
Niek
 

Bijlagen

Zo?

Code:
=ALS(B11&C11<>"";"Alarmen PCS7";"")
 
Of pas je code achter je werkblad 1 aan naar:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B:C")) Is Nothing And Target.Count = 1 Then
   If Target <> "" Then
     Cells(Target.Row, 1).Resize(, 5) = Array(Date, "", Target, Time, "Alarmen PCS7")
   Else
     Cells(Target.Row, 1).Resize(, 5) = ""
  End If
 End If
End Sub
 
Wanneer de initialen in kolom B en/of kolom C gekozen worden

Is nog een dingetje zo te zien in je code @JVeer.
 
@HSV, scherp!

Ik denk dat het zo wel zal voldoen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B:C")) Is Nothing And Target.Count = 1 Then
   If Target <> "" Then
     Cells(Target.Row, 1).Resize(, 5) = Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time, "Alarmen PCS7")
   Else
     Cells(Target.Row, 1).Resize(, 5) = ""
   End If
 End If
End Sub
 
Beter.

Kan ook:
Code:
Cells(Target.Row, 1).Resize(, 5) = iif(Target <> "", Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time, "Alarmen PCS7"),"")
 
Dank jullie voor de snelle respons :)
2 dingetjes die hier in niet goed gaan:
- Wanneer in kolom B én kolom C initialen ingevuld zijn, en ik deleten een van beide, dan verdwijnt de gehele regel;
- In mijn vorige code werd er een datum + tijd in de kolommen A en D ingevoerd wanneer ik in kolom E iets type; dit werkt nu niet meer
 
Was het dan niet de bedoeling dat kolom E automatisch gevuld werd na het invullen van kolom b en/of c?

Eerste probleem wordt zo opgelost.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B:C")) Is Nothing And Target.Count = 1 Then
   If [COLOR="#FF0000"]Cells(Target.Row, 2) & Cells(Target.Row, 3)[/COLOR] <> "" Then
     Cells(Target.Row, 1).Resize(, 5) = Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time, "Alarmen PCS7")
   Else
     Cells(Target.Row, 1).Resize(, 5) = ""
   End If
 End If
End Sub
 
Laatst bewerkt:
Zeker wel :)
Het werkt nu zo goed als perfect!

Het enige wat ik nu nog mis, is het automatisch invullen van de datum/tijd als er in kolom E iets getypt wordt.

Merci!
 
Dat wordt gedaan zodra je kolom B of C invult...ga je de tekst in kolom E nog aanpassen nadat de gewenste tekst er al in staat?
 
Ja klopt, kolom E wordt gebruikt als 'invulkolom' door de leidinggevenden.
Wanneer men in kolom E iets invult, dan dient de datum/tijd in kolom A & D te verschijnen.

Dus als er een selectie gemaakt wordt van het drop-down menu in kolom B&C, dient datum/tijd én tekst "Alarmen PCS7:" te verschijnen.
Wanneer men iets intypt in kolom E dan dient de datum/tijd ook te verschijnen in kolom A&D
 
:d
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Union(Range("B:C"), Range("E:E"))) Is Nothing And Target.Count = 1 Then
    If Target.Column = 5 Then
       Cells(Target.Row, 1).Resize(, 4) = IIf(Target <> "", Array(Date, "", "", Time), "")
    Else
        Cells(Target.Row, 1).Resize(, 5) = IIf(Cells(Target.Row, 2) & Cells(Target.Row, 3) <> "", Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time, "Alarmen PCS7"), "")
    End If
 End If
End Sub
 
Laatst bewerkt:
Mooizo! van hetzelfde:thumb:
 
Toch maar even weer @JVeer; kan het ook niet laten.

Code:
MsgBox Range("B:C", "F:F").Address
 MsgBox Union(Range("B:C"), Range("F:F")).Address
 
Goed dat je me verbetert hoor! Code is aangepast.
Gemakkelijk om in te trappen:shocked:
 
Is ook niet vervelend bedoelt hoor. :thumb:

Misschien nog de enableevents uit en weer inschakelen, hij loopt maar twee keer, en doet verder geen pijn.
 
Die had ik inderdaad gezien en verwaarloosbaar bevonden;)
 
bugs

Hoi allen,

Aangezien het leek dat alles werkte, heb ik gister de vraag als opgelost gemarkeerd.
Helaas kom ik er nu achter dat er toch nog wat 'oneffenheden' in de code zitten.

Het volgende (zie bijgevoegd bestand):
- als ik in de regel waarin 'Alarmen PCS7' iets bij type, dan verdwijnt de voorwaardelijke opmaak van de verschillende cellen in die regel. Ook verdwijnen de initialen (kolom B en/of C) die geselecteerd zijn in die regel.
- wanneer ik iets in kolom E type in een andere regel dan verschijnt datum/tijd in de kolommen A en D (dat is goed), maar wanneer ik dan nog iets in kolom F type, dan verdwijnt de gehele regel

Hopelijk is dit nog op te lossen! :)
BVD, Niek
 

Bijlagen

En als je de rij van kolom E helemaal verwijdert? Wat wil je dan dat er gebeurt?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Union(Range("B:C"), Range("E:E"))) Is Nothing And Target.Count = 1 Then
  Application.EnableEvents = False
    If Target.Column = 5 Then
       If Cells(Target.Row, 2) & Cells(Target.Row, 3) <> "" Then
        Cells(Target.Row, 1).Resize(, 4) = IIf(Target <> "", Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time), "")
         Else
        Cells(Target.Row, 1).Resize(, 4) = IIf(Target <> "", Array(Date, "", "", Time), "")
       End If
      Else
     Cells(Target.Row, 1).Resize(, 5) = IIf(Cells(Target.Row, 2) & Cells(Target.Row, 3) <> "", Array(Date, Cells(Target.Row, 2), Cells(Target.Row, 3), Time, "Alarmen PCS7"), "")
    End If
  End If
 Application.EnableEvents = True
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan