Stránka 1 z 1

Podivně fungující IF

Napsal: 24 čer 2012 15:03
od Syny09
Zdravíčko potřeboval bych vysvětlit jak ve VBA funguje rozhodování podmínek

Kód: Vybrat vše

adr = Target.Address
If Len(adr) = 5 Or 11 Then
sl = Mid(adr, 2, 1)                   
rad = Mid(adr, 4, 2)                   
End If
If Len(adr) = 6 Or 13 Then
sl = Mid(adr, 2, 1)
rad = Mid(adr, 4, 3)
End If

pokud mám Target. Addres např. $A$12 což znamená délka je 5 do proměné sl se vloží A do proměnné rad se vloží "12"
pokud mám Target. Addres např. $A$106 což znamená délka je 6 do proměné sl se vloží A do proměnné rad se vloží "106"
ale
pokud mám Target. Addres např. $A$12:$A$13 což znamená délka je 11 do proměné sl se vloží A do proměnné rad se vloží "12:"
pokud mám Target. Addres např. $A$106:$A$107 což znamená délka je 13 do proměné sl se vloží A do proměnné rad se vloží "106"
nechápu proč u té třetí situace se tam vloží ta : , dokáže mi to někdo vysvětli popř. nahradit lepším kodem? dekuji

Re: Podivně fungující IF

Napsal: 24 čer 2012 20:04
od guest
If (Len(adr) = 5) Or (Len(adr) = 11) Then

Přehledněji to ale vyřešíte přes Select...Case.