Case en If...then Else....

Status
Niet open voor verdere reacties.

yaryd

Gebruiker
Lid geworden
5 mrt 2009
Berichten
47
Beste,

hieronder vindt u de code die mij parten speelt.

wat is de bedoeling van deze code;
als de optie Enkele Deur (optED) is geselecteerd, neemt hij de layer SCH25HID aan. dit moet hij normaal hetzelfde doen met de optie Dubbele Deur (optDD). maar dit doet hij niet, als ik deze dan omwissel van plaats, neemt hij de optie Enkele Deur niet aan.

Hoe zou ik dit kunnen oplossen?

Code:
Select Case Layer
Case optED
Case optDD
'werkt niet (staat op het einde, als ik hem voor "case optED" plaats,
'gaat hij wel maar dan gaat "case optED" niet
    ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item("SCH25HID")   'bij enkele deur of dubbele deur
End Select

If optZD = True Then
    ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item("SCH25VOL")   'bij zonder deur
End If

    startpunt(1) = Val(txtDiCo):                    eindpunt(1) = Val(txtDiCo)
    startpunt(2) = Val(txtTHK) - Val(txtDiBlad):    eindpunt(2) = Val(txtHSok)
    Set SCH25VOL = ThisDrawing.ModelSpace.AddLine(startpunt, eindpunt)
    Set SCH25HID = ThisDrawing.ModelSpace.AddLine(startpunt, eindpunt)
    SCH25HID.Update
    SCH25VOL.Update

    'Spiegelas bepalen
    Spiegelpunt1(0) = Val(txtTBK / 2):  Spiegelpunt1(1) = 0
    Spiegelpunt2(0) = Val(txtTBK / 2):  Spiegelpunt2(1) = Val(txtTHK)
    Set Spiegelobject = SCH25VOL.Mirror(Spiegelpunt1, Spiegelpunt2)


Mvg,

stagestudent Yaryd
 
Door deze 2 regels

Code:
With ThisDrawing
  .ActiveLayer = .Layers.Item("SCH25VOL")
  If optED or optDD then .ActiveLayer = .Layers.Item("SCH25HID")   
End With

Daarmee kunnen de regels
Code:
Select Case Layer
Case optED
Case optDD
'werkt niet (staat op het einde, als ik hem voor "case optED" plaats,
'gaat hij wel maar dan gaat "case optED" niet
    ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item("SCH25HID")   'bij enkele deur of dubbele deur
End Select

If optZD = True Then
    ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item("SCH25VOL")   'bij zonder deur
End If
vervallen
 
Door deze 2 regels

Code:
With ThisDrawing
  .ActiveLayer = .Layers.Item("SCH25VOL")
  If optED or optDD then .ActiveLayer = .Layers.Item("SCH25HID")   
End With


ah dus moet ik gewoon deze regels in mijn programma voegen en dan zal het lukken. kzal nog wat laten weten als het opgelost is.

sry als dit een domme vraag was, maar tis praktisch den eerste keer dat ik met vba werk.

alvast bedankt

yaryd
 
Als dat zo is: begin bij het begin en niet hieraan.
 
ja, alee den eerste keer, kheb daar eens les van gekregen vorig jaar (een semester lang) en nu heb ik het allemaal nodig voor mijn eindwerk. en in dat semester was het iets te kort om alles deftig te zien.

Kheb al een volledeig programma, maar sommige dingen stel ik ij toch nog vragen bij. alvast bedankt voor de hulp.

yaryd
 
Dit klein probleemke is opgelost hoor. ma kzit al mee een volgend. ma kga der eerst zelf een beetje naar kijken.

grtz

yaryd
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan