PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBADölj bilder baserat på specifikt ord i namnetDölj bilder baserat på specifikt ord i namnet
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-05-31 14:47
 
 Ändrad av Jesan  på 2023-05-31 14:49:46

 Hej,

Jag har en karta i excel där man kan placera ut olika bilder Totalt finns det 5 olika kategorier av bilder som kan placeras på kartan. Alla bilder har unika namn som även innehåller kategorin. Exempelvis A23_Vgatan5_Glasskiosk

A23_ är ordningsföljden som bilden lades till i (dvs detta var den 23 bilden som klistrades in)

Vgatan5_ är adressen

Glasskiosk_ är kategorin

 

Jag har cirka 50 symboler av varje kategori och fler läggs till hela tiden.

 

Det jag skulle vilja är att när jag trycker på en knapp så ska alla bilder som innehåller ordet glasskiosk döljas. Är detta möjligt?

 

Alternativt så kan det också gå att gruppera alla bilder som innehåller ordet glaskiosk i namnet. Dock så behöver behöver jag hjälp med hur jag då ska gruppera dessa bilder med hjälp av ett makro.

 

 

 

 

 

Nytt inlägg
 2023-06-01 09:21
 

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

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBADölj bilder baserat på specifikt ord i namnetDölj bilder baserat på specifikt ord i namnet

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter