Avatar billede sjogren Novice
11. juli 2016 - 14:47 Der er 3 kommentarer og
2 løsninger

VBA: kan Select Case og If bruges sammen?

Er det i VBA muligt at anvende Select Case med 'indbygget' If ?
F.eks:
Select Case XY
Case Is = "01"
  If a<b then
  ....
  ElseIf a=b then
  .....
  Else
  .....
  End If
Case Is ="02"
.....
.....
End Select
Avatar billede supertekst Ekspert
11. juli 2016 - 14:56 #1
Prøv:
Sub test()
Dim xy, a, b
    xy = "01"
    a = 5
    b = 2
   
    Select Case xy
    Case Is = "01"
      If a < b Then
        Stop
      ElseIf a = b Then
        Stop
      Else
        Stop
      End If
    Case Is = "02"
        Stop
    End Select
End Sub
Avatar billede sjogren Novice
11. juli 2016 - 16:04 #2
Det virker fint :-)
Har du nogle erfaring med hvorvidt Public Functions 'kører' hurtigere/mere effektivt ved brug af Select Case metode kombineret med If betingelser, fremfor If-logik i 4 niveauer?

Så vidt jeg har forstået kan Select Case kun bruges med én variabel (betingelse), og ikke flere, a la: Select Case xy And z, Case Is xy="01" And z>50
Er det korrekt forstået?
Avatar billede supertekst Ekspert
11. juli 2016 - 16:08 #3
Vender tilbage....
Avatar billede store-morten Ekspert
11. juli 2016 - 17:02 #4
Avatar billede supertekst Ekspert
11. juli 2016 - 17:20 #5
Så er det vist på plads - med hensyn til hastighed har jeg ingen erfaring i nævnte sammenhænge.
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

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