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

 
ForumForumDiskussionerDiskussionerVBAVBAKoppla makro till knapparKoppla makro till knappar
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2016-12-27 11:01
 
Hej! Jag har i Excel infogat rektanglar som ska användas som knappar till vilka jag sedan kopplar ett makro för varje knapp. När jag klickar på en knapp ska den skicka ett bestämt ord till kolumn A. Jag provade att spela in ett makro och ändrade sedan Range("A1") till "A" dvs målkolumnen men det fungerade inte. Tanken är ju att nästa gång jag klickar på en "knapp" ska ordet ska hamna i cellen undertill o.s.v. Sub Makro3() ' ' Makro3 Makro ' Skickar texten wienerbröd ' ' Kortkommando: Ctrl+q ' Range("A").Select ActiveCell.FormulaR1C1 = "wienerbröd" Range("A").Select End Sub PS. Varför försvinner radbrytningen när jag skriver i forumet trots att jag väljer "Formaterad text"? Ds.
Nytt inlägg
 2017-01-03 13:27
 
 Ändrad av anonymous  på 2017-01-04 10:32:10
Du kan använda Application.Caller för att ta reda på vilken knapp/ruta som startade makrot.
Sen kan du få reda på vilken cell som ligger i övre vänsstra hörnet av "shapen"
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Select
ActiveCell.value =wienerbröd"

eller, kompaktare:

ActiveSheet.Shapes(Application.Caller).TopLeftCell.Value = "wienerbröd"

Av någon anledning är det alltid övre vänstra hörnet man är intresserad av i script. Vill du hamna under figuren så får du förskjuta ner den ett lagom antal rader, antingen med offsett eller så här:

Dim rad As Integer
rad = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
ActiveSheet.Cells(rad + 2, 1).Select
ActiveCell.Value = "wienerbröd"

PS: När det gäller forumet brukar jag få bäst resultat om jag först väljer "Enkel text" -> text och sedan skriver/klistrar in. Men det känns ofta som en glad överraskning om det blir rätt.


**********ED***********
Jag glömde ju bort BottomRightCell. då behöver du kanske inte lägga på några rader:

ActiveSheet.Cells(ActiveSheet.Shapes(Application.Caller).BottomRightCell.Row, 1).value = "wienerbröd"
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKoppla makro till knapparKoppla makro till knappar

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