Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Beste Helpers

 

In week 7 staan rechtsboven 2 kaders (één voor vroege ploeg, één voor late ploeg).
Bij elke ploeg heb je iemand die sneldienst/lakstraat doet, dus mijn vraag;

Als je bv in range("A17:A35) de loonnummer verandert naar SNEL/LAK dat de naam die in range("B17:B35") staat gekopieerd wordt naar AA2 (Snel) en AA3 (LAK)
Max 1 SNEL/LAK per range en foutmelding bij 2de SNEL/LAK per range
Als je verandert naar andere persoon, loonnummer terug verschijnt.

Alvast hartelijk bedankt!

sneldienst.xlsm

  • Reacties 44
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Beste reacties in dit topic

Geplaatst:

Ik heb voorlopig dit, maar werkt niet :-(

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

For Each cl In ActiveWorkbook.Range("A17:A26")
    If cl.Value = "SNEL" Then
        cl.Value.Offset(, 1).Copy = Range(AA2)
    End If
    Next
End Sub

 

Geplaatst:
Quote

 

Private Sub Worksheet_Change(ByVal Target As Range)
For Each cl In Range("A17:A26")
If cl.Value = "SNEL" Then [AA2].Value = cl.Offset(, 1).Value
Next cl
End Sub

 

Geplaatst:

Werkt wel met: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each cl In Range("A17:A26")
If cl.Value = "SNEL" Then [AA2].Value = cl.Offset(, 1).Value
Next cl

End Sub

Maar krijg nu foutmelding op :

[AA2].Value = cl.Offset(, 1).Value

Stack niet groot genoeg, excel valt dan uit...

Geplaatst: (aangepast)

Nog wat aan het testen geweest...

Werkt wel met:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Waar kan ik nu ook bv nog bijvoegen "snel", "SnEl","Lak","LAK"

En de foutmelding bij meerdere "SNEl's en LAK's in dezelfde range?

 

Alvast bedankt

aangepast door Ron001
Geplaatst:

alle verschijningsvormen van "snel" kun je converteren m.b.v. ucase

 

If ucase(cl.Value) = "SNEL"

dus of er nu Snel, sNel, SneL, SNel, SnEL, etc staat mbv ucase kun je ze allemaal vergelijken met SNEL

Geplaatst:

Bedankt!

 

Onderstaande code heb ik "proberen" te schrijven..

Ik heb deze nu opgesplitst in "SNEL" en "LAK", kan deze samengevoegd worden?

En de foutmelding bij meer als 1 "SNEL" en "LAK" in een range?

Dat dus ook de tweede "SNEL" en "LAK" niet kan gezet worden?

 

Alvast bedankt!

 

Sub ron()

For Each cl In ActiveSheet.Range([A17:A26], [A28:A35])
If UCase(cl.Value) = "SNEL" Then [AA2].Value = cl.Offset(, 1).Value
'If cl.Offset(, 1).Value > 1 Then MsgBox "[AA2].Value  is al aangeduid." 'WERKT NIET
Next cl
For Each cl In ActiveSheet.Range([A17:A26], [A28:A35])
If cl.Value = "LAK" Then [AA3].Value = cl.Offset(, 1).Value
Next cl

End Sub

 

Geplaatst: (aangepast)

volgens mij wordt het samenvoegen zo:

 

 

Sub ron()

For Each cl In ActiveSheet.Range([A17:A26], [A28:A35])
If UCase(cl.Value) = "SNEL" Then [AA2].Value = cl.Offset(, 1).Value
If UCase(cl.Value) = "LAK" Then [AA3].Value = cl.Offset(, 1).Value
Next cl

End Sub

 

aangepast door Haije
Geplaatst: (aangepast)

@Ron,

Het nut van je macro ontgaat mij, want je doorloopt een heleboel cellen, maar alleen de laatste die aan de voorwaarde voldoet wordt in AA2 of AA3 ingevuld. Dat gezegd zijnde, als je de macro toch wil gebruiken kan dat op deze manier:


Sub ron2()
Dim cl As Variant
With ActiveSheet
Set myrange = Union(.Range("A17:A26"), .Range("A28:A35"))
.Range("AA2:AB3").ClearContents
For Each cl In myrange
Select Case UCase(cl.Value)
Case "SNEL"
Range("AA2").Value = cl.Offset(, 1)
Case "LAK"
Range("AA3").Value = cl.Offset(, 1)
End Select
Next cl
End With
End Sub

 

aangepast door alpha

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.