Forum Discussion

Greg Bonaparte's avatar
Greg Bonaparte
Iron Contributor
Jul 06, 2019
Solved

How can I tell macro to perform operations below "= vbNo Then" ?

Sub OPTIMIZE()
If MsgBox("OPTIMIZE AWSORT FOR A MINIMUM OF TWENTY-FOUR INSTRUMENTS. HAVE YOU COMPLETED OPTIMIZATION?", vbQuestion + vbYesNo, "") = vbYes Then
Call Combo_MacroLessThan4k

"= vbNo Then" (How can I tell macro to perform operations below)

ActiveWindow.ScrollRow = 624
Range("V13:V14").Select
Selection.Copy
Range("V640:V641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("W13:W14").Select
Selection.Copy
Range("W640:W641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("X13:X14").Select
Selection.Copy
Range("X640:X641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("Y13:Y14").Select
Selection.Copy
Range("Y640:Y641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("Z13:Z14").Select
Selection.Copy
Range("Z640:Z641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AA13:AA14").Select
Selection.Copy
Range("AA640:AA641").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("V13:Z14").Select
Selection.ClearContents

Application.Calculation = xlAutomatic


ActiveSheet.Range("$BB$21:$BD$629").AutoFilter Field:=1

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.CLEAR
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range( _
"aw30:aw629"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("B30:BA629")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply

End If
End Sub

9 Replies

  • HeyGreg Bonaparte 

    Just use an Else statement and indent what you have written that must happen when "=vbNo"

    .......

    Call ComboMacroLessThan4k

    Else

          ActiveWindow.ScrollRow = 624

    ........

     

    If that does not work, just use an ElseIf statement 

    ........

    Call Combo_MacroLessThan4k

    ElseIf If MsgBox("OPTIMIZE AWSORT FOR A MINIMUM OF TWENTY-FOUR INSTRUMENTS. HAVE YOU COMPLETED OPTIMIZATION?", vbQuestion + vbYesNo, "") = vbNo

           ActiveWindow.ScrollRow = 624

    ........

     

     

     

     

    • Greg Bonaparte's avatar
      Greg Bonaparte
      Iron Contributor

      Excel_World_Champion 

      Hello, Thank you for your assistence. I attempted your suggestion with the following code, adding a "cancel" option. However I get compile errors. Please examine and correct:

       

      Sub OPTIMIZE()
      If MsgBox("OPTIMIZE AWSORT FOR A MINIMUM OF TWENTY-FOUR INSTRUMENTS. HAVE YOU COMPLETED OPTIMIZATION?", vbQuestion + vbYesNoCancel, "HonorSystem24") = vbYes Then

      Call Combo_MacroLessThan4k

      Else

      ActiveWindow.ScrollRow = 624
      Range("V13:V14").Select
      Selection.Copy
      Range("V640:V641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("W13:W14").Select
      Selection.Copy
      Range("W640:W641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("X13:X14").Select
      Selection.Copy
      Range("X640:X641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("Y13:Y14").Select
      Selection.Copy
      Range("Y640:Y641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("Z13:Z14").Select
      Selection.Copy
      Range("Z640:Z641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("AA13:AA14").Select
      Selection.Copy
      Range("AA640:AA641").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("V13:Z14").Select
      Selection.ClearContents
      End Sub

Resources