Avatar billede 5floor Nybegynder
11. februar 2008 - 13:00 Der er 13 kommentarer og
1 løsning

sammenligne tal og indsætte celler hvis tal ikke er ens

Hej.
Jeg har to ark i et excel-dokument.
Det ene (ark#1) indeholder en masse data om forskellige projekter (med hver deres unikke projektnummer).
Det andet ark (ark#2) er en liste med projektnumre og tilhørende data, MEN dette bliver opdateret hver uge (copy/paste). Mit problem er, at der i ark#1 tilføjes informationer mv. så dette kan ikke bare overskrives med de tilsvarende informationer i ark#2.
Min tanke er, at man kan checke alle projektnumre i ark#2 op imod ark#1 - projekterne i dise to ark er ens med mindre der er kommet et nyt projekt til, ergo ark#2 vil have det nye projekt med. Hvis der så er kommet et nyt projekt i ark#2 så skal info kopieres over i ark#1.

Er der nogen der har en mulig løsning/forslag hertil.

Jeg uddyber gerne beskrivelsen hvis den er helt umilg at forstå :-)

Mvh
Avatar billede supertekst Ekspert
11. februar 2008 - 23:37 #1
Hvordan er data i de 2 ark organiseret - en enkelt række pr. projekt - eller?
Avatar billede 5floor Nybegynder
12. februar 2008 - 08:52 #2
ja, præcis. En række hvor der er et unikt projektnummer. Herudover er der navn på projekt, ansvarlig for projekt osv. Det er en del af de andre celler jeg gerne vil have kopieret over i det andet ark HVIS der er kommet et nyt projektnummer til.
Avatar billede supertekst Ekspert
12. februar 2008 - 23:21 #3
Model - inden kodning:
Ark 2 gennemløbes - for hvert projektNr undersøges om det tilsvarende findes på ark 1. Hvis dette IKKE er tilfældet - kopieres rækken fra Ark 2 i forlængelse af de eksisterende rækker på Ark 1.

Er det sådan?
Avatar billede 5floor Nybegynder
13. februar 2008 - 08:50 #4
ja, lige præcis. Det var vist ikke den nemmeste og klareste beskrivelse jeg havde tryllet frem - du siger det kort og præcist!
Avatar billede supertekst Ekspert
13. februar 2008 - 09:12 #5
I løbet af dagen regner jeg med at få tid til en "stump VBA-kode"
Avatar billede supertekst Ekspert
13. februar 2008 - 16:12 #6
Udkast 1:

Rem Koden anbringes i ThisWorkbook
Rem ==============================

Dim ark1, ark2
Sub opdaterProjektData()
Rem kan erstattes af Sub Activeworkbook_activate() ' udføres når filen åbnes

Dim ark2Rækker
Rem behandling af ajf.data i ark2
    Set ark1 = ActiveWorkbook.Sheets("Ark1")    'ProjektSamling
    Set ark2 = ActiveWorkbook.Sheets("Ark2")    'Ajourføring
   
    ark2Rækker = findAntalRækker(ark2)
   
    For ræk = 1 To ark2Rækker
        projektNr = ark2.Cells(ræk, 1)
        If findesProjektNrIark1(projektNr) = False Then
            indsætProjektData ræk
        End If
    Next ræk
End Sub
Private Function findAntalRækker(ark)
    With ark
        findAntalRækker = Cells(Rows.Count, 1) _
          .End(xlUp).Offset(1, 0).Row - 1
    End With
End Function
Private Function findesProjektNrIark1(projektNr)
    With ark1.Range("A1:A65000")
        Set c = .Find(projektNr, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            findesProjektNrIark1 = True
        Else
            findesProjektNrIark1 = False
        End If
    End With
End Function
Private Sub indsætProjektData(ræk)
    ark2.Select
    ark2.Rows(ræk).Select
    Selection.Copy
   
    ark1.Select
    ark1NæsteRække = findAntalRækker(ark1) + 1
    ark1.Cells(ark1NæsteRække, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
Avatar billede supertekst Ekspert
19. februar 2008 - 17:52 #7
Noget nyt?
Avatar billede 5floor Nybegynder
23. februar 2008 - 19:45 #8
hej supertekst.
Undskyld det sene svar. Når jeg afvikler makroen skirver den: Subscript out of range.
Jeg har lavet 3 kollonner i både ark 1 og 2. Jeg har så bare 2 rækker mindre i ark 2 end i ark 1.
Jeg tror måske fejlen ligger i den måde jeg har lagt din kode ind - kna du specifere præcis hvor i Visual Basic viewet (Alt+F11) at jeg skal lægge kodestykkerne ind?
Avatar billede supertekst Ekspert
23. februar 2008 - 23:58 #9
Ok - koden i min model er som der står nævnt:

Udkast 1:

Rem Koden anbringes i ThisWorkbook <---
Rem ==============================

Du er velkommen til at sende dine filer til: pb@supertekst-it.dk - eller jeg kan sende mine filer.
Avatar billede supertekst Ekspert
24. februar 2008 - 10:38 #10
Måske er årsagen, at dine arknavn IKKE er som følger:

    Set ark1 = ActiveWorkbook.Sheets("Ark1")    'ProjektSamling
    Set ark2 = ActiveWorkbook.Sheets("Ark2")    'Ajourføring
Avatar billede supertekst Ekspert
07. marts 2008 - 15:01 #11
Noget nyt?
Avatar billede 5floor Nybegynder
07. marts 2008 - 16:06 #12
hej igen,
det driller fortsat. Kunne du prøve at sende mig dine filer? (skal nok være lidt hurtigere med tilbagemelding).
madstfri@yahoo.co.uk
God wewekend
Avatar billede 5floor Nybegynder
14. oktober 2008 - 10:36 #13
hej, undskyld forglemmelsen, jeg omgik problemet og har ikke brug for løsningen. Men skriv et svar og jeg deler gladeligt ud af point som tak for indsatsen.
Mvh
Avatar billede supertekst Ekspert
14. oktober 2008 - 10:42 #14
Ok - selv tak
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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



IT-JOB

Capgemini Danmark A/S

SAP Engagement Manager

Metroselskabet og Hovedstadens Letbane

BIM Coordinator

Capgemini Danmark A/S

Network Architect

Cognizant Technology Solutions Denmark ApS

Kinaxis Sr. Solution Consultant