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

 
ForumForumDiskussionerDiskussionerExcelExcelActivex figur makroActivex figur makro
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-02-12 10:43
 

 Hej, helt ny här på forumet och rätt ny på Excel också. Så ni får ha lite överseende med om jag är otydlig eller skriver så ni inte förstår. :)

Jag har tagit fram runda figurer som jag lagt ett makro på som gör att figuren går från en färg till en annan när jag trycker på den. Detta för att jag vill att användare ska kunna gradera t.ex. sälta i mat på en skala från 1 till 9. Totalt är det 162 runda figurer uppdelade i 18 rader om 9 var som har individuella makron.

Nu är det så att jag vill kopiera alla dessa figurer på blad 1 till blad 2. När jag gör det och försöker markera en figur i blad 2 med färg så markerar den motsvarande figur i blad 1.

Finns det någon kod för att lösa detta?

Här är ett exempel på 1 av de 162 runda figurerna.

 

Sub Ellips195_Klicka()

With Blad1.Shapes("Ellips 195")

       Select Case .Fill.ForeColor.RGB

           Case RGB(255, 48, 13)

               .Fill.ForeColor.RGB = RGB(217, 217, 217)

           Case Else

               .Fill.ForeColor.RGB = RGB(255, 48, 13)

       End Select

   End With

End Sub

 

Nytt inlägg
 2019-02-14 17:01
 
hej hej.
ett litet tips är att använda application.caller så räcker det med ett macro för samtliga. blir lättare att underhålla då :).
sub chngclrs()
dim shp as shape
set shp =activesheet.shapes(application.caller).
with shp

sedan resten av din kod:.
Annars kan du bara byta blad1 i din kod mot activesheet så funkar den.. men ganska många syällen att byta på.. det går även att koppla om dina shapes med ett makro.

sub connecttomacro()
dim shp as shape
for each shp in activesheet.shapes
shp.onaction ="namnpåmacro"
next shp
end sub

mvh
christian
Nytt inlägg
 2019-02-15 05:12
 

 Tack för hjälpen. Jag provade att byta ut "Blad1" mot "activesheet" och det funkade... delvis. När jag trycker på en knapp så länkar den inte längre tillbaka till Blad1, so far so good. Men den ändrar färg på en annan knapp än den jag tryckte på istället.

Vet inte om det är relevant men av någon anledning har jag 3 moduler med makron i arbetsboken och sedan är de färgkodade olika. En knapp ska vara grön, en gul, en röd osv. Skickar en lite längre kodrad. När jag gör en kopia på bladet märker jag även att det som t.ex. är ellips198 på blad1 heter något annat på blad2 när jag kopierat.

 

Sub Ellips198_Klicka()

With Blad1.Shapes("Ellips 198")

       Select Case .Fill.ForeColor.RGB

           Case RGB(146, 208, 80)

               .Fill.ForeColor.RGB = RGB(217, 217, 217)

           Case Else

               .Fill.ForeColor.RGB = RGB(146, 208, 80)

       End Select

   End With

End Sub

Sub Ellips199_Klicka()

With Blad1.Shapes("Ellips 199")

       Select Case .Fill.ForeColor.RGB

           Case RGB(146, 208, 80)

               .Fill.ForeColor.RGB = RGB(217, 217, 217)

           Case Else

               .Fill.ForeColor.RGB = RGB(146, 208, 80)

       End Select

   End With

End Sub

Sub Ellips200_Klicka()

With Blad1.Shapes("Ellips 200")

       Select Case .Fill.ForeColor.RGB

           Case RGB(146, 208, 80)

               .Fill.ForeColor.RGB = RGB(217, 217, 217)

           Case Else

               .Fill.ForeColor.RGB = RGB(146, 208, 80)

       End Select

   End With

End Sub

Nytt inlägg
 2019-02-15 07:12
 
 Ändrad av Christian  på 2019-02-15 08:26:35
Så knappen är kopplad till ett makro som är "fel" figur. Möjligtvis kan det fungera att byta with shapes("Ellips 198") mot with shapes(application.caller). application.caller returnerar namnet på objektet som triggade koden. Utöver detta måste du även se till att du inte har figurer med samma namn, använd markeringsfönstret för detta..
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelActivex figur makroActivex figur makro

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