Avatar billede hbl Novice
Oprettet i dag kl. 12:49 Der er 6 kommentarer

On Change udfør da en makro på andet ark.

Jeg har to data ark "Data" og "Output"
Jeg har en Makro ("BrugFilter") der filtrerer data på "Output"
Denne Makro vil jeg gerne have til at blive aktiveret, når jeg ændrer data i "Data".
Jeg kan godt kalde makroen fra "Data" ved at bruge nedenstående komando i ark koden under 'Worksheet, Change'

  Private Sub Worksheet_Change(ByVal Target As Range)
  '
  BrugFilter

  End Sub

Men makroen kører jo så på "Data", og ikke på "Output" som var ønsket.
Hvordan får jeg denne makro til at køre på "Output" uden at jeg forlader "Data"?
Avatar billede ebea Ekspert
Skrevet i dag kl. 13:52 #1
Ændre lidt på din kode.

If Not Intersect(Target, Me.Range("dit område")) Is Nothing Then 'skift til dit ønskede område
      Application.EnableEvents = False
        Call Worksheets("Output").BrugFilter
    End If
End Sub
Avatar billede Dan Elgaard Ekspert
Skrevet i dag kl. 13:52 #2
I 'BrugFilter' makroen skal du definere 'OutPut' som det ønskede ark, og dernæst henvise til det alle steder, hvor du laver ændriner til et ark, f.eks.:

Dim WS as Excel.Worksheet
Set WS = Sheets("OutPut")

WS.Filter ....
WS.Range ...
WS.Cells ...

o.s.v.

Uden din kode bli'r det lidt svært, at give et mere præcist svar.
Avatar billede hbl Novice
Skrevet i dag kl. 14:22 #3
Jeg bruger kun filter funktionen på "Output".
Makroen er meget simpel:

Sub BrugFilter()
       
        Columns("J:J").Select
    Selection.AutoFilter
    ActiveSheet.Range("$J$1:$J$200").AutoFilter Field:=1, Criteria1:="x"
 
End Sub
Avatar billede hbl Novice
Skrevet i dag kl. 14:46 #4
Hov så først lige dit indlæg ebea.
Hvad mener du med ("dit område")?
Avatar billede ebea Ekspert
Skrevet for 58 minutter siden #5
#4 - Det er det område, som du arbejder på i "Data" arket
Avatar billede hbl Novice
Skrevet for 13 minutter siden #6
Jeg syntes ikke jeg har succes.
Min kode ser nu sådan ud:

På kodearket 'Ark1(Data):

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Me.Range("K1:AC15")) Is Nothing Then
      Application.EnableEvents = False
    Call Worksheets("Output").BrugFilter
End If
End Sub

og min makro 'Brugfilter* ligger i kodearket 'Module1' og ser sådan ud:

Sub BrugFilter()
       
        Columns("J:J").Select
    Selection.AutoFilter
    ActiveSheet.Range("$J$1:$J$200").AutoFilter Field:=1, Criteria1:="x"
     
End Sub

Hvis jeg kører Makro 'BrugFilter' virker den på begge ark, alt efter hvilket ark jeg har fokus på. Men automatikken med at få ændringer på "Data" til at filtrerer "Output", kan jeg ikke få til at virke.
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
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

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