Jag tror att du är tvungen att loopa igenom alla bilder och kolla om namnet innehåller "glasskiosk" .
Sub DöljValdaShape()
Dim Bild As Shape
Dim sSökEfter As String
Dim sSökI As String
sSökEfter = LCase("Glasskiosk")
For Each Bild In ActiveSheet.Shapes
sSökI = LCase(Bild.Name)
If (InStr(sSökI, sSökEfter) <> 0) Then
Bild.Visible = False
End If
Next Bild
End Sub
Onödigt många steg, men jag tänkte att det skulle vara tydligt. Egentligen borde du inte behöva göra om till stora/små bokstäver. Enligt dokumentationen skall du kunna lägga in ett sista argument i slutet av InStr (compare)som gör att jämförelsen inte blir skiftlägeskänsligt. Men det funkar inte för mig. Men du kan ju testa och se om det funkar hos dig.
InStr(sSökI, sSökEfter,1)
InStr(sSökI, sSökEfter,vbTextCompare)
Kortvarianten blir något i den här stilen:
Sub kortare()
Dim Bild As Shape
For Each Bild In ActiveSheet.Shapes
If (InStr(LCase(Bild.Name), LCase("Glasskiosk")) <> 0) Then
Bild.Visible = False
End If
Next Bild
End Sub
alternativ loopsättt (inspelning av Start->Sök och markera->markeringsfönster->visa alla bilder).
Sub Makro1()
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Visible = msoTrue
Next i
End Sub