21. november 2004 - 17:26Der er
30 kommentarer og 1 løsning
Funktion til visning af billeder
Hvordan laver man en funktion som har følgende effekt: Når der står 1 i C4 skal ét billede vises. Når der står 2 skal et andet billede vises. Og når der står 3 skal et tredie vises.
Det gør Excel når du lægger dem ind i arket. Hvis du bruger en engelsk version af Excel så kaldes de Picture i stedet for billede (du kan i øvrigt også bruge Picture i den danske version).
Du kan se navnet på et billede ved at markere det - så står navnet umiddelbart til venstre for formellinien (i det hvide felt lige over kolonne A).
Prøv lige nedenstående. Jeg har ikke så mange billeder inde, så jeg kan ikke teste om det fungerer helt efter hensigten.
For I = 1 To 3 ActiveSheet.Shapes("Billede " & I).Visible = False Next I
For I = 1 To 36 If 0 < Range("C" & I + 3) And Range("C" & I + 3) <= 3 Then ActiveSheet.Shapes("Billede " & ((I - 1) * 3) + Range("C" & I + 3)).Visible = True End If Next I
For i = 51 To 158 'Nummerering starter ved 51 ActiveSheet.Shapes("Billede " & i).Visible = False Next i
For i = 1 To 36 If 0 < Range("C" & i + 3) And Range("C" & i + 3) <= 3 Then ActiveSheet.Shapes("Billede " & ((i - 1) * 3) + Range("C" & i + 3) + 51).Visible = True End If Next i
Jeg prøver med 15 billeder først, så jeg har ændret koden til:
For i = 51 To 65 'Nummerering starter ved 51 ActiveSheet.Shapes("Billede " & i).Visible = False Next i
For i = 1 To 5 If 0 < Range("C" & i + 3) And Range("C" & i + 3) <= 3 Then ActiveSheet.Shapes("Billede " & ((i - 1) * 3) + Range("C" & i + 3) + 51).Visible = True End If Next i
(Nu har jeg måske forstået dem alligevel!) Jeg tror i øvrigt det er noget med billede 63-65. De er forsvundet. Kan man finde en oversigt over alle billederne (også dem, der ikke vises) et eller andet sted?
Du kan evt. bare skrive 0 eller ingenting, så bliver de sprunget over (eller rettere: så forsøger programmet ikke at gøre noget ved de tilhørende grafer).
Jeg har fundet fejlen. Der stod 51 i stedet for 50 i den sidste funktion, så den rigtige kode er:
For i = 51 To 65 'Nummerering starter ved 51 ActiveSheet.Shapes("Billede " & i).Visible = False Next i
For i = 1 To 5 If 0 < Range("C" & i + 3) And Range("C" & i + 3) <= 3 Then ActiveSheet.Shapes("Billede " & ((i - 1) * 3) + Range("C" & i + 3) + 50).Visible = True End If Next i
Jamen det kan vi jo kun være frygteligt enige om :0)
Synes godt om
Ny brugerNybegynder
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.