Avatar billede carstenr Nybegynder
07. august 2001 - 18:46 Der er 7 kommentarer og
1 løsning

Knapper

Har lavet i makro som skal flytte en komandoknap. Men der er det problem at hver gang man laver en ny knap, så kalder excel den for et nummer som er en større end den seneste oprettede knap. Mht. makroer var det bedre i mit tilfælde hvis makroen læste navnet på knappen, fx. start.
er der en der ved hvordan man kan få VBA til at læse navnet istedet for knap nummer XX?
Avatar billede janvogt Praktikant
07. august 2001 - 19:04 #1
Kan du ikke prøve at vise din kode?
Så er det måske lidt nemmere at hjælpe.
Avatar billede carstenr Nybegynder
07. august 2001 - 19:11 #2
jo men den er ret lang, som du sikkert kan se, så indsætter jeg en kommentar boks. det er fordi jeg alver en hjælpe funktion, også er det bedre hvis knappen \"Afslut hjælp\" ligger længere nede på arket. Man kan jo ikke show/hide enkelte knapper, derfor. Med den lange kode kommer her:

Sub Hjaelp()
\'
\' kommentar Makro
\' Makro indspillet 07-08-2001 af Carsten Rasmussen
\'

\'
    ActiveSheet.Unprotect
    Range(\"F34\").Select
    Range(\"F34\").AddComment
    Range(\"F34\").Comment.Visible = False
    Application.WindowState = xlNormal
    Range(\"F34\").Comment.Text Text:= _
        \"Carsten Rasmussen:\" & Chr(10) & \"Forklaring til dette ark:\" & Chr(10) & \"\" & Chr(10) & \"Postering:\" & Chr(10) & \"\" & Chr(10) & \"Man postering udfra den givne dato som man ønsker, fx januar den 13. Gå da til den celle hvor der står 13, og udfra den ønskede post.\" & Chr(10) & \"\" & Chr(10) & \"Ved udg\"
    Range(\"F34\").Comment.Text Text:= _
        \"ifter, skal man ikke indtaste minus foran, det sker automatisk, da det programmet antager at alle udgifter er negative. Det omvendte er gældende for indtægter.\" & Chr(10) & \"\" & Chr(10) & \"Skrivebeskyttet\" & Chr(10) & \"\" & Chr(10) & \"de stder hvor det ikke\" _
        , Start:=200
    Range(\"F34\").Comment.Text Text:= _
        \" er relavant at der skrives data, der kan man ganske enkelt ikke skrive.\" & Chr(10) & \"Bemærk desuden, at man ikke kan posterer med bogstaver eller lign. kun tal!\" & Chr(10) & \"\" & Chr(10) & \"Knapper\" & Chr(10) & \"\" & Chr(10) & \"Måned:\" & Chr(10) & \"Klik på den ønskede måned. I øvers\" _
        , Start:=400
    Range(\"F34\").Comment.Text Text:= _
        \"te hjørne står hvilken måned man befinder sig i pt.\" & Chr(10) & \"\" & Chr(10) & \"Rens måned:\" & Chr(10) & \"\" & Chr(10) & \"Hvis hele måneds regnskabet skal slettes.\" & Chr(10) & \"Pas meget på med denne funktion, der kan ikke fortrydes!\" & Chr(10) & \"\" & Chr(10) & \"Indsæt ny række:\" & Chr(10) & \"\" & Chr(10) & \"Under punktet di\" _
        , Start:=600
    Range(\"F34\").Comment.Text Text:= _
        \"verse, er det muligt at indsætte en ny række. Men kun under \"\"Diverse\"\". Ved klik på knappen kommer der et grå felt, som der kan skrives i. Efter der er skrevet tast Enter, og klik derefter på knappen \"\"\" _
        , Start:=800
    Range(\"F34\").Comment.Text Text:= _
        \"Aktiver beskyttelse.\" & Chr(10) & \"\" & Chr(10) & \"Aktiver beskyttelse:\" & Chr(10) & \"\" & Chr(10) & \"Se under \"\"indsæt ny række.\" & Chr(10) & \"Bruges ikke til andet\" & Chr(10) & \"\" & Chr(10) & \"Fortryd ny række:\" & Chr(10) & \"\" & Chr(10) & \"Pas på med denne knap!!\" & Chr(10) & \"Må kun bruges efter man har indsat en ny række.\" & Chr(10) & \"Derefter slette\" _
        , Start:=1000
    Range(\"F34\").Comment.Text Text:= _
        \"r den den nye række, men pas på!\" & Chr(10) & \"\" & Chr(10) & \"Hjælp:\" & Chr(10) & \"\" & Chr(10) & \"Det er denne knap!\" & Chr(10) & \"\" & Chr(10) & \"Afslut hjælp:\" & Chr(10) & \"\" & Chr(10) & \"Afslutter hjælp :)\" & Chr(10) & \"\" & Chr(10) & \"\" _
        , Start:=1200
    Range(\"F34\").Select
    ActiveCell.Comment.Visible = True
    Range(\"F34\").Comment.Shape.Select True
    Selection.ShapeRange.ScaleHeight 2.64, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleWidth 1.5, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.IncrementLeft -17.25
    Selection.ShapeRange.IncrementTop -175.5
    Selection.ShapeRange.ScaleHeight 1.43, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleWidth 1.41, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleWidth 1.11, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleHeight 1.13, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.08, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleHeight 1.21, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.IncrementLeft -3.75
    Selection.ShapeRange.IncrementTop -63.75
    Selection.ShapeRange.ScaleWidth 1.19, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleHeight 1.19, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleWidth 1.1, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.06, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleWidth 1.12, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleHeight 1.12, msoFalse, msoScaleFromTopLeft
    ActiveWindow.ScrollRow = 1
    Selection.ShapeRange.ScaleHeight 1.1, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleWidth 1.1, msoFalse, msoScaleFromBottomRight
    Selection.ShapeRange.ScaleWidth 1.04, msoFalse, msoScaleFromTopLeft
    ActiveWindow.ScrollRow = 17
    Selection.ShapeRange.ScaleHeight 1.06, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.06, msoFalse, msoScaleFromTopLeft
    ActiveWindow.LargeScroll Down:=-1
    Range(\"A1\").Select
    Application.WindowState = xlMaximized
    ActiveSheet.Shapes(\"Button 86\").Select
    Selection.ShapeRange.IncrementLeft 80.75
    Selection.ShapeRange.IncrementTop -1150.25
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range(\"A1\").Select
End Sub
Avatar billede askims Nybegynder
07. august 2001 - 23:14 #3
Jeg kan ikke helt gennemskue hvor du indsætter knapper i din makro. Men du kan helt sikkert omdøbe knappen efter at du har lavet den.
Jeg har en makro, hvor jeg først oprettet et nyt ark, dette ark bliver omdøbt til en fast tekst, så i princippet må det med knappen fungere på samme måde.

ASKIMS
07. august 2001 - 23:34 #4
CommandButton1 har en egenskab der hedder Name. Den kan bruges til at omdøbe knappens navn.

Eks. Du har en knap med navnet CommandButton1

\'Omdøbning
CommandButton1.Name = \"KnapStart\"
\'Der skal så stå start på selve knappen
KnapStart.Caption = \"Start\"
Avatar billede carstenr Nybegynder
08. august 2001 - 00:24 #5
--> Flemmingdahl. ups. kom til at skrive at det var en kommandoknap, hvilket det ikke er, det er nemlig en alm. knap.

-->Askims. Ja, det kan være, fordi med ark er det samme med at de også bliver en højere ved indsættelse af et nyt.
Jeg indsætter heller ingen knap i den makro. men problemet er når jeg skal lave den samme makro i et nyt ark, som måske ikke er nået til knap 86, så kommer der fejl.
08. august 2001 - 16:38 #6
>>carstenr

Start et nyt regneark for test. Indsæt et nyt Modul i VBA, og indsæt følgende kode og kør den:

Sub TestOpretKnapMedNavn
    ActiveSheet.Buttons.Add(76.5, 18, 90.75, 39).Select
    Selection.OnAction = \"Makro1\"
    Selection.Name = \"Start\"
    Selection.Caption = \"Start\"
End Sub

Hjælper det dig ?
Avatar billede carstenr Nybegynder
09. august 2001 - 11:46 #7
---->Askims jeg nåede ikke at se din ide, men det kan da være at det også virker:)

---->Flemmingdahl Det virker helt perfekt.
det er ret smart, har kun lige prøvet hurtigt.
Og det smarte er jo at den så ikke \"tæller +1\" hver gang man laver en knap.

carsten
09. august 2001 - 16:51 #8
God fornøjelse
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester