02. december 2009 - 15:32Der er
9 kommentarer og 1 løsning
VBA i Excel: Hvordan får spørger jeg, hvilken celle en commandbutton er indsat i?
Overskriften skulle gerne sige det hele.
Jeg har indsat en masse commandButtons i et excel-ark og afhængigt af, hvilken række knappen sidder i, skal der ske noget lidt forskelligt. Jeg har derfor brug for en funktion, hvorigennem jeg kan spørge den commandButton, som brugeren har klikket på, hvilken celle den tilhører.
Dvs.:
Private Sub CommandButton1_Click() Dim activeCell As Range activeCell = <metakode>This.Get.Cell</metakode>
End Sub
Har gjort brug af noget lignende i Word, hvor jeg kunne bruge Selection, men kan ikke få det til at virke i Excel og har ikke kunnet finde noget brugbart dokumentation på brugen af Selection i Excel.
Reelt set har jeg kun indsat en enkelt commandButton indtil videre, men ideen er, at den bare skal kopieres ind i de celler, i de rækker, hvor der skal være en sådan commandButton.
Jeg har indsat min commandButton via båndet i Excel 2007: Fanebladet udvikler|knappen indsæt|ActiveX-objekter kommandoknap
Jeg har hørt om linkedCell (har dog ikke stor erfaring med det), men kan ikke umiddelbart se, hvordan det kan hjælpe i min situation?
Hmm... Pt. er det 55, men det tal kan variere i fremtiden. Årsagen er, at det regneark jeg laver, er et spørgeskema, og hvert spørgsmål har sin egen række. I en af kolonnerne skal mine commandButtons være og de skal give adgang til en formular, hvori man skal indtaste nogle data, som bliver gemt ned i et andet regneark i projektmappen.
Det sted hvor dataene gemmes ned, er afhængigt af, hvilket spørgsmål/hvilken række den aktiverede commandButton befinder sig i. Dette er grunden til, at jeg har brug for at kende den celle, som min commandButton befinder sig i.
Jeg er ikke sikker på, hvad du mener med model, men kan da oplyse, at hver celle i områderne E3:E19, E21:E36, E38:E47 og E50:E61 skal indeholde en sådan commandButton. Det vil være den samme kode, der skal afvikles hver gang - dog med førnævnte forskel (at nummeret på rækken sendes med som variabel) og af hensyn til fleksibilitet ønsker jeg ikke at hardcode noget.
Det kunne jo tænkes, at spørgeskemaet i fremtiden bliver udvidet med et spørgsmål, og så skal det ikke kræve, at man går ind og roder i en masse kode - kun at man bare kopierer en eksisterende commandButton og så spiller det.
Kan desværre ikke tilbyde, at sende dig selve spørgeskemaet, da det indeholder firmarelaterede oplysninger, men sig endelig til, hvis jeg kan gøre noget for at tydeliggøre problemstillingen.
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.