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

Formule inkorten

Status
Niet open voor verdere reacties.

Gurtie

Gebruiker
Lid geworden
14 jun 2007
Berichten
81
Hallo lezers,

voor de ervaren VBA-gebruikers waarschijnlijk een makkie, maar ik kom er niet uit:

ik heb een stukje code dat telkens herhaald moet worden, maar het kan vast korter dan deze code voor elke regel helemaal opnieuw te gebruiken. Elke stuk code is telkens hetzelfde, alleen de rijnummers lopen telkens op, van 7t/m 220. Het gaat om het volgende:

Code:
Dim cell As Range
    ThisWorkbook.Worksheets("Assortiment").Activate
    If Range("E7") = "Folder" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U7:AH7").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E7") = "Ma-Wo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U7:Z7").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E7") = "Do-Zo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("AA7:AH7").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    Else
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U7:AH7").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 0
    Next
    End If

Dim cell As Range
    ThisWorkbook.Worksheets("Assortiment").Activate
    If Range("E8") = "Folder" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U8:AH8").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E8") = "Ma-Wo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U8:Z8").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E8") = "Do-Zo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("AA8:AH8").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    Else
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U8:AH8").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 0
    Next
    End If

'enzovoort enzovoort enzovoort enzovoort enzovoort

Dim cell As Range
    ThisWorkbook.Worksheets("Assortiment").Activate
    If Range("E220") = "Folder" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U220:AH220").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E220") = "Ma-Wo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U220:Z220").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    ElseIf Range("E220") = "Do-Zo" Then
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("AA220:AH220").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 20
    Next
    Else
    ThisWorkbook.Worksheets("Prognose").Activate
    Range("U220:AH220").Select
    For Each cell In Selection
    cell.Interior.ColorIndex = 0
    Next
    End

Kan/wil iemand me een duwtje (of liever een duw :D ) in de goede richting geven?

groeten, Gurtie
 
Laatst bewerkt:
Jammer, maar dat gaat niet :(

Dat zal je allemaal moeten intypen, 1 voor 1.

Kopiëren van code mag wel.

Wigi
 
Als jij het zegt, dan zal het zo zijn :eek: Nou, dan zet ik m maar op opgelost en ga ik aan t copiëren :( Thnx voor je reactie!
 
Sorry, slecht karakter kwam even bovendrijven:

Code:
Sub wigi()

Dim cell As Range

For Each cell In Range("E7:E220")
    
    With Sheets("Prognose")
    
        Select Case cell.Value
            
            Case "Folder": .Range("U" & cell.Row & ":AH" & cell.Row).Interior.ColorIndex = 20
            Case "Ma-Wo": .Range("U" & cell.Row & ":Z" & cell.Row).Interior.ColorIndex = 20
            Case "Do-Zo": .Range("AA" & cell.Row & ":AH" & cell.Row).Interior.ColorIndex = 20
            Case Else: .Range("U" & cell.Row & ":AH" & cell.Row).Interior.ColorIndex = 0
            
        End Select
    
    End With
    
Next

End Sub

:)

Wigi
 
Hmm was mijn vraag zo fout dat je daar aanvankelijk zo op reageerde dan? :( Maar bedankt voor de oplossing :thumb:
 
Hmm was mijn vraag zo fout dat je daar aanvankelijk zo op reageerde dan? :( Maar bedankt voor de oplossing :thumb:

Nee nee, de vraag was heel duidelijk, en ik heb ook geen slecht karakter.

Ik was gewoon nog aan het typen aan de oplossing... ;)

Veel plezier ermee.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan