Avatar billede BIRGER Seniormester
07. juli 2007 - 17:30 Der er 7 kommentarer og
1 løsning

Start af makro

Jeg har en makro som sorterer data i et regneark. Jeg får data ovf. fra et program. Når jeg trækker data i det andet prog. (SAP)
ville jeg gerne kunne sige.. gem som...og så filens navn, hvor jeg har min makro. Men gør jeg det, vil makroen jo også blive overskrevet. Kan det gøres så makroen bibeholdes?
Avatar billede supertekst Ekspert
07. juli 2007 - 17:38 #1
Prøv at sende din fil med makroen til pb@supertekst-it.dk
Forstår ikke helt hvad du mener - makroen skulle vel ikke bliver overskrevet, fordi du gemmer regnearket under et andet navn?
Avatar billede BIRGER Seniormester
07. juli 2007 - 17:50 #2
Hej igen.. er den makro du har lavet!!  Jeg vil gemme regnearket under den samme navn...de dato jeg får ovf. bliver lagt over i et navnløst exelark...det vil jeg så gemme i det navn hvor makroen ligger..med gem som.. men så vil makroen jo forsvinde!
Avatar billede supertekst Ekspert
07. juli 2007 - 18:48 #3
OK - så er jeg med.
Løsningsmuligheder - som jeg ser det:
- 1) kopiere data fra "det navnløse ark" over til filen med makroen
- 2) gemme det "navnløse ark" under et andet navn og ændre makroen, således at man kan vælge og behandle enhver xls.fil
- 3) gemme makroen som xla - d.v.s. som tilføjelsesprogram - som kan anvendes i Excel på enhver fil
Avatar billede BIRGER Seniormester
07. juli 2007 - 19:07 #4
Kan det køre som et tilføjelsesprogram?
Avatar billede supertekst Ekspert
07. juli 2007 - 19:34 #5
Ja - er afprøvet:

Koden er justeret - indlægges i et tomt regneark - i VBA's Ark1
Gem herefter filen som Excel-tilføjelsesprogram(*.xla)under FILTYPE
FilNavn: UdtræksFilter (f.eks)
-
Åbn herefter det nye udtræk (navnløse fil) - Funktioner / Tilføjelsesprogram - sæ flueben v/Udtræksfilter - OK

Start VBA-koden via Alt+F11 - så skulle det køre - ellers må du sige til...


Rem VERSION 2
Rem =========
Rem Koden indlægges i det ark, hvor filtrering ønskes
Dim InitListe As Variant
Sub starFilter()                                          'VBA begynder her - evt. tilknyttes knap
 
Rem Liste over initialer, der IKKE skal slettes
Rem ===========================================
    InitListe = Array("AHS", "HCA", "IMP", "JRK", "LNL", "MPR", "OGK", "SGJ")  '<-----Tilpasses
    udførFiltrering
End Sub
Private Sub udførFiltrering()
Dim antalRæk
    ActiveWorkbook.Sheets(1).Activate
   
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = antalRæk To 2 Step -1
        If ActiveSheet.Cells(ræk, 1) <> "" Then
            If InitBevares(ActiveSheet.Cells(ræk, 1)) = False Then
                ActiveSheet.Rows(ræk).Delete
            End If
        End If
    Next ræk
End Sub
Private Function InitBevares(init)
    For f = 0 To UBound(InitListe)
        If init = InitListe(f) Then
            InitBevares = True
            Exit Function
        End If
    Next f
    InitBevares = False
End Function
Avatar billede BIRGER Seniormester
07. juli 2007 - 21:25 #6
Kører fint...sender du et svar!!

p.s.  må jeg sende dig koden til dig, jeg har selv bygget noget på (pivotabel), men jeg er tvivl om det hele måske kunne gøres ved hjælp af en pivottabel.

så kan jeg oprette et spørgsmål, når du har kigget på det
Avatar billede supertekst Ekspert
07. juli 2007 - 23:14 #7
Det får du så - prøv blot at sende koden vedr. pivot
Avatar billede BIRGER Seniormester
08. juli 2007 - 09:57 #8
fint gør jeg
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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