Voorwaarde, de IF-functie in VBA

Status
Niet open voor verdere reacties.

Gerben84

Gebruiker
Lid geworden
19 feb 2006
Berichten
57
Hallo,

Wie kan mij vertellen wat er aan de onderstaande macro niet goed is? Hij gaat altijd uit van het eerste, ook is die waarde in E20 groter dan 1,1. De waarde 1,1 staat eigenlijk in cel H20; ik heb daarom ook de vergelijking "E20" > "H20" en "E20" < "H20" gemaakt, maar het lijkt wel of ie dit niet pakt...

Code:
Public Function Test()

If ("E20" > "1.1") Then
Range("K5").Select
    Selection.Copy
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End If

If ("E20" < "1.1") Then
Range("L5").Select
    Selection.Copy
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End If

End Function
 
Al opgelost, d.m.v




Code:
        If Range("E20").Value > 1.1 Then
        
    Range("K5").Select
    Selection.Copy
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
            
        Else
        
    Range("L5").Select
    Selection.Copy
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
            
        End If
 
Antwoord 1:
Gebruik voor het uitvoeren van een aktie geen Function, maar een sub.

Antwoord 2:
Streef naar one-liners
Code:
Sub kopie()
    cells(5,iif([E20]>1.1,15,16)).copy [E9]
End Sub
Deze doet hetzelfde als jouw code
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan