Avatar billede allan.k Nybegynder
09. september 2005 - 13:27 Der er 19 kommentarer og
1 løsning

Tælle macro i Excell

Hej eksperter.

Jeg har fået lavet et Excell ark, hvor man får insat datoen i den celle som er markerede ved at klikke på en knap via en macro.

Kan man også lave en macro som kan indsætte fortløbende nummere 1,2,3.... og som virker i flere faneblade i samme Excell ark?

Så jeg kan trykke på en knap i hvert faneblad, og så kommer det næste nummer i rækken til at stå i den celle som er markerede i det faneblad som jeg har aktivt.
Avatar billede gibber Nybegynder
09. september 2005 - 13:33 #1
Prøv at navngive en celle i ark1 som "Tæller"

Så kan du benytte følgende kode til din knap:

Private Sub CommandButton1_Click()
Dim i As Variant
i = Ark1.Range("Tæller") + 1
ActiveCell.Value = i
Ark1.Range("Tæller") = i
End Sub

/Gibber
Avatar billede allan.k Nybegynder
09. september 2005 - 14:29 #2
Det skal jeg nok lige have lidt hjælp til :-)

Jeg har ikke forstand på at lave macroer, det har en kolega gjort for mig.
Avatar billede tvc Seniormester
09. september 2005 - 16:32 #3
- Klik på en celle i dit ark
- i menuen vælger du Indsæt - Indsæt navn - Definer - Skriver navnet (Tæller) - klikker Tilføj - OK.
- I den celle du netop har navngivet "Tæller" skriver du det seneste anvendte nummer i din nummerrækkefølge.


- Herefter højreklikker du på arkfanen og vælger Vis programkode
- Vælg Insert - Module
- Dobbelklik på Modulet og indsæt gibbers kode (uden Private og med nyt navn]:

Sub TællerNr()
Dim i As Variant
i = Ark1.Range("Tæller") + 1
ActiveCell.Value = i
Ark1.Range("Tæller") = i
End Sub

- I din menubjælke vælger du nu - Vis - Værktøjslinjer - Tilpas
- Under fanen [Kommandoer] vælger du [Makroer]
- Træk den brugerdefinerede knap på i en af dine værktøjslinjer og slip
- Klik på knappen [Rediger markering] og vælge [Tildel makro]
- Vælg makroen TællerNr og klik OK

Nu skulle du kunne markere en hvilken som helst celle i din Workbook (med undtagelse af den celle du har navngivet "Tæller") og klikke på din ny menuknap, hvorefter det næste tal i rækken vil blive indsat.

Hilsen

TVC
Avatar billede tvc Seniormester
09. september 2005 - 16:34 #4
Indsæt denne i stedet så er du helt sikker:

Sub TællerNr()
Dim i As Variant
i = Range("Tæller") + 1
ActiveCell.Value = i
Range("Tæller") = i
End Sub
Avatar billede allan.k Nybegynder
09. september 2005 - 16:48 #5
--> tvc

Det virker fint. Men så er det næste problem at funktionen skal bruges på mit arbejde i produktionen, hvor vi ikke har retigheder til at oprette knapper i værktøjslinien. Kan denne funktion ikke laves som en knap på selve arket, hvis du forstår hvad jeg mener?
Avatar billede brynil Nybegynder
09. september 2005 - 19:10 #6
Hmm... er det ikke lidt voldsomt at bruge en makro til at tilføje et enkelt nummer i nogle ark ? ;))

Problemet er at du skal oprette en knap i hvert ark, når du ikke kan placere den centralt på en menu. Har du kun en knap i ét ark, skal du angive hvilket ark/celle du ønsker det fortløbende nummer når du bruger knappen. Det er ikke nogen besparelse.

Det ser for mig ud som om ovenstående makro opdaterer cellen Tæller hver gang du kører makroen. Når du fx. får tallet 4 ind i ex. ark4, så vil cellen Tæller i ark1 også få nummeret 4.

Makroen herunder gemmer sidst indtastede nr. nederst i ark1 (forudsat du gemmer arket ved afslutning), så du kan fortsætte nummerserien næste gang du åbner arket.

Sub TællerNr()
Dim i As Long
i = Sheets("Ark1").Cells(65536, 100).Value + 1
ActiveCell.Value = i
Sheets("Ark1").Cells(65536, 100).Value = i
End Sub

Markér cellen du skal have nummeret i, tryk Alt+F8, markér makroen TællerNr og tryk Enter. Det er det nemmeste i din situation.
Avatar billede tvc Seniormester
10. september 2005 - 15:44 #7
Du kan gøre følgende:

- højreklik på arkfanen og vælger Vis programkode

Du befinder dig nu i Microsoft Visial Basic:

Her er det nu meningen af du skal oprette en lille menu til Excel som ikke styres af de øvrige menubegrænsninger du har.

Vi skal nu oprette en Userform:

- Vælg Insert - UserForm

Hvis du ikke kan se den lille menu ToolBox skal du vælge View - Toolbox

- Vælg at indsætte en CommandButton i din UserForm og navngiv den "Indsæt næste nr."

- I oversigten til venstre skal du nu dobbeltklikke på Ark1
- I højre side ser du nu programvinduet for Ark1
- I toppen af dette programvindue er to rullemenuer
- I rullemenuen "General" vælger du WorkSheet
- I rullemenuen "Declarations" vælger du Activate

I programvinduet vises nu:

Private Sub Worksheet_Activate()

End Sub

- Mellem de to linjer skriver du UserForm1.Show

Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

Denne funktion gør at din ny menu vises hver gang du vælger Ark1

- I oversigten til venstre skal du nu dobbeltklikke på UserForm1
- Dobbeltklik på din knap

Nu vises programvinduet for din knap med følgende kode:

Private Sub CommandButton1_Click()

End Sub

- Mellem de to linjer indsætter du denne kode:

Dim i As Variant
i = Ark1.Range("Tæller") + 1
ActiveCell.Value = i
Ark1.Range("Tæller") = i

Resultatet ser således ud:

Private Sub CommandButton1_Click()
Dim i As Variant
i = Ark1.Range("Tæller") + 1
ActiveCell.Value = i
Ark1.Range("Tæller") = i
End Sub

- I oversigten til venstre skal du nu dobbeltklikke på UserForm1

Til venstre (nederst) ser du vinduet Properties - UserForm1

- Rul ned til du finder indstillingen "ShowModal" og sæt denne til "False"

Dette bevirker, at du kan arbejde i arket mens Userformen er aktiv.

Luk nu Microsoft Visual Basic ned og prøv at klikke væk fra Ark1 og så tilbage på Ark1.

Din menu skulle nu gerne vises og du skulle kunne vælge en hvilken som helt celle og klikke på din ny knap og få indsat den næste tal i rækken.

Med venlig hilsen
¨
TVC
Avatar billede tvc Seniormester
10. september 2005 - 15:50 #8
Du kan selvfølgelig også indsætte en knap på hver af dine ark som alle ref. til samme makro.

- Du vælger værktøjslinjen - Formularer
- Vælg Knap og klik et sted i arket
- Der vil nu poppe en dialogboks op hvor du skal vælge din Makro som i det oprindelige eksempel.

Denne fremgangsmåde kan du så anvende på alle de ark du vil have en knap i.

Med venlig hilsen

TVC

P.S. Denne løsning er noget lettere end den med UserForm1, men hvis du arbejder dagligt med Excel vil du glæde dig over at lære mere og mere om de muligheder der ligger bag VBA :-)
Avatar billede allan.k Nybegynder
10. september 2005 - 18:04 #9
Det lyder alt sammen meget spændende, tak for de mange forslag, jeg kigger nærmer på det og vender tilbage med point til de forslag jeg finder mest anvendeligt.
Avatar billede tvc Seniormester
10. september 2005 - 19:52 #10
HVis du vil sikre dig at ingen ved en fejl skal komme til at overskrive værdien i cellen Tæller kan du blot oprette et nyt ark hvor du navngiver en celle Tæller og så skjuler arket.

- Højreklik på fanen og vælg Skjul.

TVC
Avatar billede brynil Nybegynder
10. september 2005 - 21:45 #11
Undskyld TVC. Min kommentar 19:10:21 skyldtes manglende forståelse af dit forslag.
:-\
Avatar billede tvc Seniormester
10. september 2005 - 23:31 #12
-> brynil

Det er helt i orden :-)
Avatar billede allan.k Nybegynder
11. september 2005 - 14:36 #13
-> brynil

Det var lige det jeg havde brug for, point på vej i din retning.

Takker
Avatar billede allan.k Nybegynder
11. september 2005 - 14:38 #14
Ups.....det har været en lang nat med fætter&kusine fest :-)

-> brynil

Smider du lige at svar så jeg kan give dig point.
Avatar billede brynil Nybegynder
11. september 2005 - 14:48 #15
Ok at du anvender mit forslag, men da både gibbers og TVCs forslag er korrekte svar på dit spørgsmål, synes jeg du skal dele point mellem os ;))
Avatar billede allan.k Nybegynder
11. september 2005 - 16:15 #16
Og hvordan gør jeg det?
Avatar billede tvc Seniormester
11. september 2005 - 16:16 #17
Hvis gibber også smider et svar markerer du bare alle vores navne i boksen ud for Accepter!
Avatar billede allan.k Nybegynder
11. september 2005 - 16:19 #18
-> gibber

smid lige et svar, så kan i deles om dem
Avatar billede brynil Nybegynder
11. september 2005 - 16:20 #19
Du skal lige vente på de lægger et svar.
Det kan være hovedpinen er borte inden det sker! :))

Markér en ad gangen og angiv hvor mange point hver enkelt skal have.
Avatar billede brynil Nybegynder
11. september 2005 - 16:24 #20
Nå - kan det også gøres på den måde! Det er jo nemmere.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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