22. december 2004 - 09:06Der er
11 kommentarer og 2 løsninger
gå til ark ved hjælp af F1-knap
Hvis man står i en celle i et ark. hvor der er et tal f.eks. 1000 og du har en fane med navnet 1000. kan man så lave det sådan at når man evt. trykker på F1 at man så springer hen til det ark og tilbage igen ved tryk igen . I det ark hvor man springer fra kan der være mange tal ( ca. 100 ) i en kollone og lige så mange ark Håber det er til at forstå.
Sub SpringTil() a = CStr(ActiveCell.Value) Sheets(a).Select End Sub
Knyt makroen til en genvejstast. Du kan ikke i Excel gøre noget ved F-tasterne, men kan bruge bogstaver i kombinaton med Ctrl. Så du kan fx bruge Ctrl+T eller lignende.
Her er et bud, som er udviklet i office97: Indsættes som modul i WorkBook
Dim Dest_arkNavn, Source_Arknavn, target As Boolean Sub Auto_Open() Application.OnKey "{f1}", "findArk" End Sub Sub Auto_close() Application.OnKey "{f1}", "" End Sub Sub findArk() If target = True Then Sheets(Source_Arknavn).Activate target = False Else Source_Arknavn = ActiveSheet.Name
Dest_arkNavn = ActiveCell.Value Sheets(Dest_arkNavn).Activate target = True End If End Sub
ikrons det virker hvis man bruger din makro, men hvordan kommer man tilbage til det oprindelig ark. Jeg har prøvet at lave en makro med genvejs tasten ctrl+Q men kan ikke få den til at virke, hvordan skal den se ud.
jeg har prøvet at sætte det ind i et mondul men det virker ikke , Er det fordi det er XP jeg bruger eller er det ark navnet der skal rettes eller hvad. eller er det bare migder ikke fatter hvad der foregår.
Her er en omskrivning af jkons makro, nu virker kaldet begge veje.
kald makroen igen for at komme tilbage, men virker kun et ark baglæns
Dim Old As String Sub SpringTil() If Old <> "" And Old <> ActiveSheet.Name Then Sheets(Old).Select Else Old = ActiveSheet.Name a = CStr(ActiveCell.Value) Sheets(a).Select End If End Sub
Du er nok nødt til at dele din makro op i to dele, hvis du vil bruge to forskellige taster til henholdsvis at vælge og at kommetilbage. kabbaks løsning forudsætter, at du bruger den samme tast begge veje.
En løsning kunne være at opdele dem som følger:
Public Old As String
Sub SpringTil()
Old = ActiveSheet.Name a = CStr(ActiveCell.Value) Sheets(a).Select
End Sub
Sub FraArk()
If Old <> "" And Old <> ActiveSheet.Name Then Sheets(Old).Select End If
End Sub
Husk at erklæringen skal ligge i toppen af modulet.
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.