Avatar billede spoi Nybegynder
09. november 2006 - 13:33 Der er 20 kommentarer og
1 løsning

opdatering af data makro. Svær

ja jeg tror opgaven er lidt svær

Jeg har en masse filer i en mappe der hedder pakkemønster.
Hver gang jeg retter i en af disse filer vil jeg genre opdatere et andet ark med data fra denne fil

Dvs den skal søge i dette "opsamlingsark" i kolonne A om der eksistere data fra filen. Hvis ja skal den overskrive, hvis den ikke eksisterer skal den tilføje nederst.


Er ikke kommet lang med koden ;O)

Workbooks.Open Filename:="H:\Pakkeinstruktioner\Pakkemønster\Opsamling.xls"   

    Sheets("Ark1").Activate
    ThisWorkbook.Sheets("Ark1").Range("E3").Copy ActiveWorkbook.Sheets("Ark1").Range("a2") 'Type
   
  ActiveWorkbook.Close savechanges:=False

Den skal simpelten tjekke om E3 Eksisterer i Kolonne A i opsamlingsfilen og erstatte hvis den gør og ellers tilføje nederst.

Et ekstra bonus ville være hvis opsamlingsfilen som afslutning kunne sorteses etfter kolonne A. Men det er ikke det primære.

Spørg endelig hvis jeg skal uddybe.

Duer ikke til de der If'er

LN
Avatar billede spoi Nybegynder
10. november 2006 - 06:37 #1
Hej igen

Tror desværre ikke denne måde er den helt rette alligevel.
Brugeren kan risikere at skulle ind på 20 filer hver gang de pakker til en kunde alle 20 gange skal de så sige ja til makro. Det vil være et irritationsmoment og vel egentlig også for risikabelt hvis de ikke trykker ja?

Så tror jeg gør det den modsatte vej. Dvs taster ind i opsamlingsfilen og opdaterer i de enkelte filer. Medmindre man selvfølgelig kan sætte Excelfilerne sådan op at man automatisk åbner med makroer - så brugeren ikke skal tage stilling?

Metode 2 kan jeg bedre selv gå i krig med.


LN
Avatar billede splokit Nybegynder
10. november 2006 - 09:26 #2
irritationsmoment kan du fjerne vel at gøre dette
Funktioner/Makro/Sikkerhed set sikkerhedsniveau til Lav

De ark er de ens!? eller!
Avatar billede splokit Nybegynder
10. november 2006 - 09:38 #3
Hvis "E3" på det enkelte mappe er på opsamling.xls skal den ikke gøre noget.
Men hvis den ikke er der overfør den!?
Avatar billede splokit Nybegynder
10. november 2006 - 09:41 #4
Er der kun en kolonne med data!? "A:A"
Avatar billede spoi Nybegynder
10. november 2006 - 10:56 #5
Nej de er ikke ens, men de er bygget ens op.

Er der ingen risiko ved lav sikkerhed.
Det kan være det så er samme årsag til at jeg i en fil pludelig ikke skal sige ja til makroer - har nu ikke pillet ved sikkerheden  - men pludselig er det væk.

LN



LN
Avatar billede spoi Nybegynder
10. november 2006 - 11:11 #6
Jo hvis E3 eksistere i "A:A" skal den opdatere "B:B" med g3 "C:C" i den række hvor E3=A
Og hvis den Ikke kan finde E3 nogen steder i "A:A" skal den tilføje rækken med date

Der er vel i alt 5 kolonner med data men Det er E3 Og A der er udvælgelseskriteriet på samme måde som Lopslag.

Tænkte jo lidt den anden vej i går aftes pga det med makroerne og måske gøre det mere vedligeholdelsesvenligt. Der er ca 200 ark med værdier der skal overføres i opsamling.

Ved at vedligeholde data i opsamling ville de måske være mere vedligeholdelsesvenligt.

Tænkte på en knap når man trykkede på den kom der et indtstningsfelt hvor man kan trykker et søgekriterie identisk med det der E3(som nemlig også er navnet på filerne)
Hvis den findes åbnes filen og kopiere data fra opsamling over i filen hvis ikke opretter den en ny fil med det man har tastet i feltet, ud fra en skabelon der feks hedder æske skabelon.xlt. Er det hul i hovedet, tror du? Derefter skal den tage en kopi af hele opsamlingsarket og smide over i et ark i filen pakkeri - ark1. Så kan jeg nemlig bare lave Lopslag.

Det er nok lidt rodet at forklare.

Er ved at lave et pakkevejledning der har en indgangsside=pakkeri.
Her henter man diverse kunde specifikke data samt emnespecifikke data. Så alt er samlet et sted. Det er simpelthen en tom fil når den åbnes men med en masse funktionalitet. Når der her tastes et kundenummer hentes der data for kunden og når der tastes et pakkenummer hentes dat om hvorledes lige de pakkes til den kunde her og nu skal pakkes. Den sidste del er det der så er meningen der skal stå i opsamling og hentes fra.

LN
Avatar billede splokit Nybegynder
10. november 2006 - 11:27 #7
Jeg har et ark hvor den laver opslag på flere ark/mapper ud fra en værdi i "A:A"
Første Opslag har to værdier at søge på og retunerer Der man vil ud fra hvad de ønsket værdier
Den anden Laver et normalt opslag, en værdi en retur.
Jeg har laver dem om til at kunne gå begge veje hvis det er noget!?
Avatar billede spoi Nybegynder
10. november 2006 - 11:43 #8
Mener du helt alm lopslag?
Hvad mener du med begge veje?

LN
Avatar billede spoi Nybegynder
10. november 2006 - 11:55 #9
hmm af de to forslag kan jeg faktisk godt bruge begge metoder. 1. metode vil være super at bruge på kundedelen og 2. metode på det emnespecifikke. der er 100 kunder =filer og der vil det faktisk være super at kunne samle nogle vigtige data i en fil, både for overblikket men også fordi jeg kan dele kunderne ind i nogle kundetyper og få noget smart ud af dette.

2 metode vil være super på det emnespecifikke. Den del kan jeg nok det meste af selv, med en lille smule hjælp hvis det gør knuder.

Lopslag har jeg som regel ikke probelemer med


LN
Avatar billede splokit Nybegynder
10. november 2006 - 12:13 #10
Sub metode2()
Dim i, o, p As Integer
Dim Arr(2 To 150, 6) As Variant ' 2 to 150 = rækker på opslags værdien efter komma er hvor mange værdier den skal retunere + søgeværdi

Application.ScreenUpdating = False

On Error Resume Next 'Hvis ikke test2 er åben åben test2
Workbooks("test2.xls").Activate
If Err.Number <> 0 Then Workbooks.Open "C:\test2.xls"

For i = 2 To 150 'Rækker på test2
    Arr(i, 0) = Sheets("Chau").Cells(i, 1).Value 'søge værdi den skal finde på kolonne 1
    Arr(i, 1) = Sheets("Chau").Cells(i, 3).Value 'Retur værdi Cells(i=række, tal er kolonne)
    Arr(i, 2) = Sheets("Chau").Cells(i, 4).Value 'osv
    Arr(i, 3) = Sheets("Chau").Cells(i, 7).Value 'osv
    Arr(i, 4) = Sheets("Chau").Cells(i, 8).Value 'osv
    Arr(i, 5) = Sheets("Chau").Cells(i, 10).Value 'osv
   
Next i
ActiveWorkbook.Save    'gem og luk test2
ActiveWorkbook.Close

Windows("test1.xls").Activate

For o = 3 To 62 Rækker på søgeværdierne
    For p = 2 To 150
        If Sheets("Ark1").Cells(o, 4).Value = Arr(p, 0) Then 'cells(o, Kolonnenr) er hvilken kolonne den finder søgeværdien
            'o = Rækken på søgeværdien Tallet er kolonnen
            Sheets("Ark1").Cells(o, 6) = Arr(p, 1)'Hvor den skal indsætte værdien fra test2.xls
            Sheets("Ark1").Cells(o, 7) = Arr(p, 2)
            Sheets("Ark1").Cells(o, 3) = Arr(p, 3)
            Sheets("Ark1").Cells(o, 8) = Arr(p, 4)
            Sheets("Ark1").Cells(o, 11) = Arr(p, 5)

            Exit For
        End If
    Next p
Next o
   
Application.ScreenUpdating = True
End Sub
Avatar billede splokit Nybegynder
10. november 2006 - 12:29 #11
metode1
Har to søgeværdier, en fast celle fx. "D3" Og x rækker i en kolonne fx. "B3:B30"

Første værdi finder rækken den skal finde næsteværdi på og derfra retunere den værdi man ønsker der efter.
den laver et lopslag og der efter et vopslag

metode2 kan laves om så den også tager skriver den data der ikke blev fundet.
Avatar billede splokit Nybegynder
10. november 2006 - 12:37 #12
Hvis du kan maile et ud kast af dit nye ark kan jeg rette koden til.
Splokit@splokit.com
Avatar billede spoi Nybegynder
13. november 2006 - 08:21 #13
Ok jeg skal er lige nødt til at lave noget med fiktve data.
Det bliver lavet i dag ;O) og så sender jeg til dig

LN
Avatar billede splokit Nybegynder
13. november 2006 - 13:16 #14
Bare oki
Avatar billede spoi Nybegynder
14. november 2006 - 12:02 #15
Åhh det nåede jeg slet ikke. I dag eller i morgen. Er det ok med dig.
Har lidt travlt da jeg præsentere systemet på torsdag ;O|

LN
Avatar billede splokit Nybegynder
14. november 2006 - 13:17 #16
Du gør det bare når du har tid.. haster ikke
Avatar billede spoi Nybegynder
20. november 2006 - 09:59 #17
Hej
Jeg har ikke glemt dig. Jeg kan fortælle at mit projekt blev accepteteret og det er den vej jeg skal fortsætte. De var meget tilfredse;O)

LN
Avatar billede splokit Nybegynder
20. november 2006 - 12:49 #18
:) det er j en god ting.. du sender det bare når du er klat...
Avatar billede splokit Nybegynder
22. december 2006 - 18:48 #19
Humm
Avatar billede spoi Nybegynder
26. januar 2007 - 06:57 #20
hej
Du må ikke blive gal. Blev for en periode nødt til at lave helt andre opgaver pga sygdom på arbejde. Men fra næste uge skulle jeg begynde at have lidt tid igen til at fortsætte.

Håber op forståelse

LN
Avatar billede splokit Nybegynder
03. april 2007 - 13:10 #21
du siger jo bare til når du er klar igen..
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