Avatar billede jensen363 Forsker
16. juni 2005 - 09:11 Der er 4 kommentarer og
1 løsning

If, Then ElseIf udpegning af dataområde

Hvad er der galt med denne If-sætning ?

Celle I31 indeholder værdien 2

Celle C41 indeholder værdien 1
Celle D41 indeholder værdien 2
Celle E41 indeholder værdien 3

Uanset hvad der står i celle I31, returneres den første betingelse som sand ????

    If C41 = I31 Then
        Range("C62:C63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf D41 = I31 Then
        Range("D62:D63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf E41 = I31 Then
        Range("E62:E63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With

  End If
Avatar billede sjap Praktikant
16. juni 2005 - 09:27 #1
Prøv med:

    If Range("C41") = Range("I31") Then
        Range("C62:C63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf Range("D41") = Range("I31") Then
        Range("D62:D63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf Range("E41") = Range("I31") Then
        Range("E62:E63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With

  End If
Avatar billede sjap Praktikant
16. juni 2005 - 09:30 #2
Når du blot skriver

If C41 = I31 Then

vil Excel opfatte C41 og I31 som to u-initialiserede variable, som altså har den samme værdi, og derfor er udsagnet sandt. Du er nødt til at angive, at der er tale om referencer til regnearket, og det kan f.eks. gøres med

If Range("C41") = Range("I31") Then
Avatar billede jensen363 Forsker
16. juni 2005 - 09:35 #3
Tek, det var lige det som skulle til :o)
Avatar billede kabbak Professor
16. juni 2005 - 09:36 #4
eller.


If [C41] = [I31] Then
        Range("C62:C63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf [D41] = [I31] Then
        Range("D62:D63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
   
    ElseIf [E41] = [I31] Then
        Range("E62:E63").Select
            Selection.Locked = False
                Selection.FormulaHidden = False
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With

  End If
Avatar billede sjap Praktikant
16. juni 2005 - 12:07 #5
kabbak > Det var jeg ikke klar over - det er jo næsten for nemt :0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester