Avatar billede Calle5463 Forsker
25. juli 2020 - 23:57 Der er 10 kommentarer og
1 løsning

Makro til knap

Jeg har et lille regneark med nogle data på "børn" og deres forældre. Jeg ville gerne lave en knap eller lignende, der flytter fokus til data på den forældre jeg trykker på. Hvordan gøres det?

Udsnit/dataeksempel:

Reg.nr    Årgang    Navn    Far (reg.nr)    Mor (reg.nr)   
DK10    2015    Cindy    DK08            DK09
DK09    2008    Nimik    DK07            DK06
DK08    2010    Muffin    DK05            DK04
DK07    2004    Unita    DK03            DK02
DK06    2006    Odda    DK01            DK00
Avatar billede Jan K Ekspert
26. juli 2020 - 12:00 #1
Jeg er ikke helt klar over, hvad du mener. Det er nemt nok at lave en knap, men hvis du allerede har klikket på en forælder, er fokus vel flyttet til den række?
Avatar billede Calle5463 Forsker
26. juli 2020 - 12:21 #2
#1
Der er mange flere data på hver linie end vist i eksemplet.
Når jeg har fundet et int. "barn" (fx DK10), og vil se data for forældre (DK08 og DK09), skal funktionen ved tryk på fx DK08 i barnets linie, automatisk finde linien med denne forælders data

Der skal så nok også laves en funktion der hopper tilbage til barnet, når jeg har set nok, hvis ikke man bare kan bruge en returfunktion i excel, men det må komme senere.
Avatar billede Calle5463 Forsker
26. juli 2020 - 12:39 #3
Det skal måske bare være et filter? Filtrer, vis kun række hvor kolonne A er lig med fx celle E4?
Avatar billede Jan K Ekspert
26. juli 2020 - 13:07 #4
Lav en knap med denne kode:

Sub VisValgtElement()
    Dim soe As String
    Soeg = ActiveCell.Value
    ActiveSheet.Columns(1).Find(Soeg, After:=Range("a1")).EntireRow.Select
End Sub

Vælg en far eller mor i D eller E og klik på knappen, så findes den pågældende i A og rækken markeres.
Avatar billede Jan K Ekspert
26. juli 2020 - 13:08 #5
Stavefejl:

Det skulle hav e stået

Dim Soeg Ss String
Avatar billede Jan K Ekspert
26. juli 2020 - 13:08 #6
Bedre og bedre

Dim Soeg As String :-)
Avatar billede Calle5463 Forsker
26. juli 2020 - 13:45 #7
Jan K

Det "virker" når jeg debugger, men kan ikke få det til at køre bagefter. (Det er [for] mange år siden jeg sidst har rodet med makroer m.m.)
Og der er nok noget kode der ikke skal med som kommer "automatisk:


Der står "CommandButton1" og "Click" øverst i kode-billedet

Private Sub CommandButton1_Click()

End Sub
Sub VisValgtElement()
    Dim soeg As String
    soeg = ActiveCell.Value
    ActiveSheet.Columns(1).Find(soeg, After:=Range("a1")).EntireRow.Select
End Sub
Avatar billede Jan K Ekspert
26. juli 2020 - 13:52 #8
Så skal du bare kopiere dette ind mellem de to linjer på din knap

Private Sub CommandButton1_Click()
    Dim soeg As String
    soeg = ActiveCell.Value
    ActiveSheet.Columns(1).Find(soeg, After:=Range("a1")).EntireRow.Select
End Sub
Avatar billede Jan K Ekspert
26. juli 2020 - 14:26 #9
Og nu med fejlhåndtering, så koden ikke fejler hvis den forældrer, du har klikket på, ikke findes i A-kolonnen:
Private Sub CommandButton1_Click()
On Error GoTo Fejl
    Dim soe As String
    Soeg = ActiveCell.Value
    ActiveSheet.Columns(1).Find(Soeg, After:=Range("a1")).EntireRow.Select
Fejl:
    If Err.Number = 91 Then
        MsgBox "Den søgte person findes ikke i A-kolonnen. Prøv at markere en anden.", vbExclamation + vbOKOnly
    End If
End Sub
Avatar billede Jan K Ekspert
26. juli 2020 - 14:26 #10
NB! Msgbox linjen skal stå på en linje!
Avatar billede Calle5463 Forsker
26. juli 2020 - 16:37 #11
Det virker! Tak.
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

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