Avatar billede tworn Nybegynder
07. april 2013 - 14:04 Der er 8 kommentarer og
1 løsning

Excel/VBA - betinget kopiering af data

Hej alle.

Sidder med to datasæt i excel og skal have kopieret nogle data fra det ene ark over i det andet hvis nogle bestemte betingelser er opfyldt.

Ark1 indeholder en liste med virksomhedsnumre samt et bestemt årstal tilknyttet hver virksomhed. Jeg skal have indsat yderligere nøgletal for hver virksomhed for det korrekte år ind i dette ark.

Ark2 indeholder de samme virksomhedsnumre, årstal samt nøgletal for hvert år. Problemet er at jeg i dette ark for hver virksomhed har 10-12 rækker med samme virksomhedsnummer men med forskellige årstal og nøgletal, hvor jeg skal have plukket den ene række der matcher både virksomhed og årstal og derefter kopiere nøgletallene fra denne række over i ark1.

Det er altså en slags "dobbelt betingelse" der skal være opfyldt: hvis årstal og virksomhedsnummer matcher i de to ark så skal dataene fra ark2 kopieres over i ark 1

Håber det er til at forstå hvad problemet er og at der er nogen der har tid/lyst til at hjælpe. Det ville være meget værdsat!
Avatar billede kabbak Professor
07. april 2013 - 14:11 #1
opload et eksempel og jeg kikker på det
Avatar billede tworn Nybegynder
07. april 2013 - 14:16 #2
Det ville være fantastisk. Kan jeg maile det til dig?
Avatar billede kabbak Professor
07. april 2013 - 14:20 #3
holgerbak snabela email dot com
Avatar billede tworn Nybegynder
07. april 2013 - 14:32 #4
Har sendt dig en mail.
Avatar billede tworn Nybegynder
07. april 2013 - 14:35 #5
Jeg kan tilsyneladende ikke sende til den mail du har angivet. Er den korrekt skrevet?
Avatar billede kabbak Professor
07. april 2013 - 14:39 #6
holgerbak snabela gmail dot com
sorry
Avatar billede kabbak Professor
07. april 2013 - 17:20 #7
prøv at teste

husk at gøre det på en kopi, kørsel af makro, kan ikke fortrydes

Option Base 1
Public Sub FindOgGem()
Dim Søg As Variant, FindI As Variant, DataInd As Variant, DataGem As Variant
Dim I As Long, X As Long
'søg indeholder (Acquiror ISIN number ,"Deal valueth USD" 'Announced date ' Fiscal year prior to acquisition

Søg = Worksheets("Ark1").Range("H1:K" & Worksheets("Ark1").UsedRange.Rows.Count)
DataGem = Worksheets("Ark1").Range("L1:T" & Worksheets("Ark1").UsedRange.Rows.Count)
'FindI indeholder "Data Year-Fiscal", "International Security Identification Number ""

FindI = Worksheets("Ark2").Range("C1:D" & Worksheets("Ark2").UsedRange.Rows.Count)
DataInd = Worksheets("Ark2").Range("L1:T" & Worksheets("Ark2").UsedRange.Rows.Count)

For I = 1 To UBound(Søg, 1)
For X = 1 To UBound(FindI, 1)
If Val(Søg(I, 4)) = Val(FindI(X, 1)) And Søg(I, 1) = FindI(X, 2) Then ' kriterier
For a = 1 To UBound(DataGem, 2)
DataGem(I, a) = DataInd(X, a)
Next
Exit For
End If

Next
Next
Worksheets("Ark1").Range("L1:T" & Worksheets("Ark1").UsedRange.Rows.Count) = DataGem
End Sub
Avatar billede tworn Nybegynder
07. april 2013 - 20:18 #8
Det virker perfekt. Jeg takker og bukker!
Avatar billede kabbak Professor
07. april 2013 - 21:34 #9
et svar
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
Kurser inden for grundlæggende programmering

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