Avatar billede denero Juniormester
17. januar 2008 - 14:47 Der er 1 kommentar og
1 løsning

Filtrere data med avanceret filtrer i excel inde fra word

Denne kode kører jeg inde fra excel.
Sub AVfilter()
'

' Avanceretfilter Makro

'

'
    Sheets("Data").Select
    Range("C3").Select
    Range("A1:DW500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Sheets("Filter 1").Range("A1:J500"), CopyToRange:=Sheets("Dataark").Range("A2"), Unique:=False

    Range("A2").Select

End Sub





Sådan ser mit excel ark altså ud:

Ark 1 = listeområde "A1:DW500"),
ark 2 = kriterieområde("A1:J500"),
ark 3 = kopier til.


Flg kode bliver afviklet, når et worddokument åbnes.


Sub SetFlet1Kvartal()
'
'
' Test antal rækker i databasen
'
    Dim rk As Integer
    On Error Resume Next
    Set xlapp = GetObject(, "Excel.application")
    If Err.Number <> 0 Then
      Set xlapp = CreateObject("excel.Application")
    End If
    xlapp.Workbooks.Open FileName:="K:\Kontrolmappe elektriske maskiner og hjælpemidler.xls"
    xlapp.Visible = False
    rk = xlapp.ActiveWorkbook.Sheets(1).Range("c65536").End(xlUp).Row
    xlapp.ActiveWorkbook.Saved = True
    xlapp.ActiveWorkbook.Close
    Set xlapp = Nothing
'
' Åbnbrevfletdatabase Makro
'
'
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "K:\Kontrolmappe elektriske maskiner og hjælpemidler.xls" _
        , ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=K:\Kontrolmappe elektriske maskiner og hjælpemidler.xls;Mode=Read;Extended Properties=""HD" _
        , SQLStatement:="SELECT * FROM `Dataark$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess '

' Doctype Makro
'
'
   
    ActiveDocument.MailMerge.MainDocumentType = wdCatalog

'
' Nytdoc Makro
'
'

    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = 1
            .LastRecord = rk - 1
        End With
        .Execute Pause:=False
    End With
'
' LukhovedFletDoc Makro
'
    Windows("Seneste notater elektriske maskiner og hjælpemidler, 1. kvartal") _
        .Activate
    ActiveWindow.Close SaveChanges:=False

End Sub

Jeg vil gerne afvikle excel koden inde fra word sammen med min øvrige kode i en kode. Kan det lade sig gøre?
Avatar billede denero Juniormester
18. januar 2008 - 15:39 #1
Nu har jeg prøvet med flg. kode, men når jeg kommer til filterdelen,

  Range("A1:DW500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Sheets("Filter 1").Range("A1:J500"), CopyToRange:=Sheets("Dataark").Range("A2"), Unique:=False

går det galt.Kan nogen hjælpe?





Sub Excel()
'
' Åbne excel
'
'
 
      Set xlapp = CreateObject("excel.Application")
      xlapp.Workbooks.Open FileName:="K:\Kontrolmappe elektriske maskiner og hjælpemidler.xls"
    xlapp.Visible = True
'
' Slette data I Dataark
'
'
    xlapp.Sheets("Dataark").Select
    xlapp.Cells.Select
    xlapp.Selection.Clear
    xlapp.Range("A1").Select
'
' Avanceretfilter Makro
'
'
    xlapp.Sheets("Data").Select
    xlapp.Range("C3").Select

    Range("A1:DW500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Sheets("Filter 1").Range("A1:J500"), CopyToRange:=Sheets("Dataark").Range("A2"), Unique:=False

    xlapp.Range("A2").Select
    xlapp.Sheets("Dataark").Select
    xlapp.Range("A1").Select

'
' Lukke excel
'
'
  If xlapp.ActiveWorkbook.Saved = False Then xlapp.ActiveWorkbook.Save
    xlapp.ActiveWorkbook.Close
    Set xlapp = Nothing

End Sub
Avatar billede denero Juniormester
26. januar 2008 - 21:14 #2
lukker
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
Tag et kursus i Word og øg effektiviteten

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