Results 1 to 6 of 6

Change code IF to CASE

Threaded View

  1. #1
    Valued Forum Contributor marreco's Avatar
    Join Date
    07-02-2011
    Location
    Brazil
    MS-Off Ver
    Excel 2010
    Posts
    1,862

    Change code IF to CASE

    Hi.
    I would like to change this structure IF to CASE.
    can anyone help me?
    Thank you!


    Sub TestCase()
        Dim LR As Long
        Rows(6).Resize(100).Delete
        If Range("a2") = "" And Range("b2") <> "" And Range("c2") <> "" Then
        
        With Sheets("test").UsedRange
            .AutoFilter Field:=3, Criteria1:=Range("b2")
            .AutoFilter Field:=11, Criteria1:=Range("c2")
            .Copy Range("a6")
            .AutoFilter
        End With
        ElseIf Range("a2") <> "" And Range("b2") = "" And Range("c2") <> "" Then
        
        With Sheets("test").UsedRange
            .AutoFilter Field:=1, Criteria1:=Range("a2")
            .AutoFilter Field:=11, Criteria1:=Range("c2")
            .Copy Range("a6")
            .AutoFilter
        End With
        ElseIf Range("a2") <> "" And Range("b2") <> "" And Range("c2") = "" Then
         With Sheets("test").UsedRange
            .AutoFilter Field:=1, Criteria1:=Range("a2")
            .AutoFilter Field:=3, Criteria1:=Range("b2")
            .Copy Range("a6")
            .AutoFilter
        End With
        
        ElseIf Range("a2") = "" And Range("b2") = "" And Range("c2") <> "" Then
         With Sheets("test").UsedRange
            .AutoFilter Field:=11, Criteria1:=Range("c2")
            .Copy Range("a6")
            .AutoFilter
        End With
        
        ElseIf Range("a2") <> "" And Range("b2") = "" And Range("c2") = "" Then
         With Sheets("test").UsedRange
            .AutoFilter Field:=1, Criteria1:=Range("a2")
            .Copy Range("a6")
            .AutoFilter
        End With
        
        ElseIf Range("a2") = "" And Range("b2") <> "" And Range("c2") = "" Then
         With Sheets("test").UsedRange
            .AutoFilter Field:=3, Criteria1:=Range("b2")
            .Copy Range("a6")
            .AutoFilter
        End With
        
        Else
       With Sheets("test").UsedRange
            .AutoFilter Field:=1, Criteria1:=Range("a2")
            .AutoFilter Field:=3, Criteria1:=Range("b2")
            .AutoFilter Field:=11, Criteria1:=Range("c2")
            .Copy Range("a6")
            .AutoFilter
        End With
    
        End If
    End Sub
    Thank's


    Cross-Post
    http://www.excelkey.com/forum/viewto...7&p=3566#p3566
    Last edited by marreco; 03-28-2012 at 07:49 PM.
    "No xadrez nem sempre a menor dist?ncia entre dois pontos ? uma linha reta" G. Kasparov.

    If your problem is solved, please say so clearly, and mark your thread as Solved: Click the Edit button on your first post in the thread, Click Go Advanced, select b from the Prefix dropdown, then click Save Changes. If more than two days have elapsed, the Edit button will not appear -- ask a moderator to mark it.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1