Avatar billede goodwill Nybegynder
23. juli 2002 - 10:21 Der er 10 kommentarer og
1 løsning

Makro der åbner regneark med filnavn = tekst på knap

Hej alle,
Jeg har nogle knapper på et excelark (ikke userform)som er hentet fra værktøjslinien formularer i Excel 97.
Hver knap har en tekst som svarer til et filnavn på et regneark. NU vil jeg gerne med kun en makro kunne åbne de forskellige regneark alt efter hvilken knap jeg trykker på.
Nogen som kan et trick?
mvh
Goodwill :-)
23. juli 2002 - 11:44 #1
Sub FormularKnapper()
    Select Case UCase(Application.Caller)
        Case UCase("Knap 1")
            MsgBox "Knap 1"
        Case UCase("Knap 2")
            MsgBox "Knap 2"
        Case UCase("Knap 3")
            MsgBox "Knap 3"
        Case Else
            MsgBox "Knap så godt :-)"
    End Select
End Sub

Koden er lavet af Leo Heuser, MVP Excel
23. juli 2002 - 11:45 #2
Hvis din version er engelsk, så udskift "Knap" med "Button"
Avatar billede goodwill Nybegynder
23. juli 2002 - 13:03 #3
Hej FlemmingDahl,
Den kode med application.caller har jeg set, den går ind og vurderer på hvad der tricker koden (navnet på fx. objektet)....men, det er ikke det jeg har brug for.
Jeg skal hente den "tekst" der står på knappen som jeg aktiverer koden med.
Derefter bruge "teksten" som streng til at åbne en excel-fil med filnavn=streng.
Håber du kan hjælpe mig
Goodwill :-)
23. juli 2002 - 13:09 #4
Goodwill - navngiv dine knapper!
Avatar billede goodwill Nybegynder
23. juli 2002 - 13:30 #5
FlemmingDahl
Så går ideen ligesom lidt fløjten..
*Én makro for alle knapper uanset mængde* - ved din kode skal man skrive en ny case-sætning for hver ny knap, man tilføjer.
Goodwill :-)
23. juli 2002 - 13:40 #6
Jeg kender umiddelbart ikke en løsning med formular knapper, men hvis du vælger at bruge CommandButton's - altså med en lille makro i selve arkets kodemodul (en makro pr. knap) så kunne denne makro hedde noget alla:
Private Sub CommandButton1_Click()
    MyCommenMacro CommandButton1.Caption
End Sub

I et almindeligt kodemodul kan du så have:
Public Sub MyCommonMacro(Byref sFileName As String)
  'din kode hvor sFileName har din knap tekst
End Sub
Avatar billede Slettet bruger
23. juli 2002 - 16:12 #7
Prøv den her

--------------------
Sub aabenFilMedKnap()

Dim objNavn As String
Dim filNavn As String

objNavn = Application.Caller
filNavn = ActiveSheet.Shapes(objNavn).TextFrame.Characters.Text

Workbooks.Open Trim(filNavn)

End Sub
-----------------

Bemærk at knapteksten ikke må indeholde usynlige tegn f.eks. ENTER osv.
Avatar billede Slettet bruger
23. juli 2002 - 17:58 #8
Bemærk at knapteksten skal indeholde stien f.eks "C:\temp\test.xls", og
knappen skal pege på makroen 'aabenFilMedKnap'.

Det virker i Excel XP.
25. juli 2002 - 10:27 #9
goodwill>> løste det dit problem ?
Avatar billede Slettet bruger
29. juli 2002 - 10:46 #10
Kunne du få det til at virke ?
Avatar billede goodwill Nybegynder
29. juli 2002 - 18:49 #11
Hej blackadder,
Det virker helt perfekt, tak skal du have.
Også tak til flemmingdahl for ideer.
:-) Goodwill
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