Print side | Luk vindue

Programkode til

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1292
Udskrevet den: 20.Maj.2024 kl. 20:27


Emne: Programkode til
Besked fra: Sidsel
Emne: Programkode til
Posteringsdato: 26.Jun.2013 kl. 10:30
Hej
 
jeg har oprettet et spørgsskema i excel.
 
I spørgskemaet er der indsat nogle hovedspørgsmål "JA/NEJ", hvortil der er koblet et underspørgsmål  "JA/NEJ", som kontrolelementer (rulle menu).
 
Afhængig af svaret på hovedspørgsmålet er JA = 1, vises kontrolelementet for underspørgsmålet:
 ActiveSheet.Shapes("Rullemenu 62").Visible = True
 
Det modsatte hvis hovedspørgsmålet er NEJ = 2
 
Hvilket fungere fint.
 
If Sheets("LIST_VALUE").Range(linkdedCell).Value = 1 Then
        ActiveSheet.Shapes("Afkrydsningsfelt 38").Visible = True
        ActiveSheet.Shapes("Afkrydsningsfelt 39").Visible = True
        ActiveSheet.Shapes("Rullemenu 62").Visible = True
        Rows("169:178").Select
        Selection.EntireRow.Hidden = False
        Rows("190:190").Select
        Selection.EntireRow.Hidden = False
        Rows("179:189").Select
        Selection.EntireRow.Hidden = True
    ElseIf Sheets("LIST_VALUE").Range(linkdedCell).Value = 2 Then
        ActiveSheet.Shapes("Afkrydsningsfelt 38").Visible = False
        ActiveSheet.Shapes("Afkrydsningsfelt 39").Visible = False
        ActiveSheet.Shapes("Rullemenu 62").Visible = False
        Rows("169:179").Select
        Selection.EntireRow.Hidden = True
        Rows("180:190").Select
        Selection.EntireRow.Hidden = False
    End If
End Sub
 
Problemet er, at hvis jeg gemmer og lukker filen, hvor hovedsprøgsmålet er NEJ = 2 (underspørgsmålet er skjult) -  åbner arket igen og ændre svaret til JA = 1 - så er placeringen af kontrolelementet for underspørgsmålet ændret sig.
 
Placeringen for kontrolelementet for hovedspørgsmålet er: 1G
Placeringen for kontrolelementet for underspøgsmålet er: 7G
 
Når jeg har skjult kontrolelementet for underspøgsmålet, lukker filen, genåbner filen, og underspørgsmålet bliver vist igen, er placeringen for kontrolelementet: 2G.
 
Det hjælper ikke noget at ændre i formateringen af kontrolelementet under egenskaber. Den står under "Flyt sammen med celler, men juster ikke størrelsen"
 
Kan man lave en programkode, som der henviser til hvilken celle det enkelte kontrolelement skal være i?
 
mvh
Sidsel
 



Svar:
Besked fra: excelent
Posteringsdato: 26.Jun.2013 kl. 21:32
Denne kode placerer din shape i celle B9
 
With ActiveSheet.Shapes("Afkrydsningsfelt 38")
   .Top = Range("B9").Top
   .Left = Range("B9").Left
End With

-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!


Besked fra: Sidsel
Posteringsdato: 28.Jun.2013 kl. 13:48
Det virker desværre ikke helt.
Fordi "Rullemenu 62" skal vises når "If Sheets("LIST_VALUE").Range(linkdedCell).Value = 1 "

Og skjules når "Sheets("LIST_VALUE").Range(linkdedCell).Value = 2"
   
Kan du hjælpe med at komme med den korrekte programkode?
          
   
If Sheets("LIST_VALUE").Range(linkdedCell).Value = 1 Then
        ActiveSheet.Shapes("Afkrydsningsfelt 38").Visible = True
        ActiveSheet.Shapes("Afkrydsningsfelt 39").Visible = True
        ActiveSheet.Shapes("Rullemenu 62").Visible = True
        With ActiveSheet.Shapes("Rullemenu 62")
        .Top = Range("G169").Top = True
        .Right = Range("G169").Right = True
        Rows("169:178").Select
        Selection.EntireRow.Hidden = False
        Rows("190:190").Select
        Selection.EntireRow.Hidden = False
        Rows("179:189").Select
        Selection.EntireRow.Hidden = True
    ElseIf Sheets("LIST_VALUE").Range(linkdedCell).Value = 2 Then
        ActiveSheet.Shapes("Afkrydsningsfelt 38").Visible = False
        ActiveSheet.Shapes("Afkrydsningsfelt 39").Visible = False
        ActiveSheet.Shapes("Rullemenu 62").Visible = False
        With ActiveSheet.Shapes("Rullemenu 62")
        .Top = Range("G169").Top = False
        .Right = Range("G169").Right = False
         Rows("169:179").Select
        Selection.EntireRow.Hidden = True
        Rows("180:190").Select
        Selection.EntireRow.Hidden = False
    End If
End Sub
 
På forhånd tak.


Besked fra: excelent
Posteringsdato: 29.Jun.2013 kl. 21:03
Prøv send filen eller et eks. så kikker jeg på det.
mailto:excelent@gefiber.dk" rel="nofollow - excelent@gefiber.dk


-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!



Print side | Luk vindue