Avatar billede kasper76 Nybegynder
25. februar 2014 - 17:48 Der er 1 kommentar og
1 løsning

Excel - hvis dublet, kopier række

Hej Eksperter

Håber i kan hjælpe

jeg har 2 excelark hvor jeg har kundedata, som jeg vil have samlet til et ark.

Fællesnævneren er at der er et unikt ID i begge ark, så jeg tænkte at man kunnde lave en formel ala:

Hvis et Id matcher i begge ecxelark kopier hele rækken over til ark 1.

hvis der er en der er klog vil det virkelig være en stor hjælp...

Jeg kan evt. sende excelark med mere uddybning - min mail er kb(a)consultus.dk
Avatar billede supertekst Ekspert
25. februar 2014 - 18:07 #1
Vil godt hjælpe - @-adresse under min profil.
Avatar billede supertekst Ekspert
26. februar 2014 - 09:38 #2
Dim sti As String
Dim fil1 As Workbook
Dim antalRæk1 As Integer, ræk1 As Integer
Dim id As Long

Const fil2Navn = "Ark2.xlsx"
Dim fil2 As Workbook
Dim ræk2 As Integer
Public Sub opdaterData()
    houseKeeping
   
    fil1.Sheets(1).Activate
   
    For ræk1 = 2 To antalRæk1
        id = ActiveSheet.Range("A" & ræk1)
               
        ræk2 = findesIdArk2(id)
        If ræk2 > 0 Then
            hentDataFra2 ræk2, ræk1
        Else
'            Stop
        End If
        fil1.Activate
    Next ræk1
   
    fil2.Close
   

    ActiveSheet.Columns.AutoFit
End Sub
Private Sub houseKeeping()
    Application.ScreenUpdating = False

    sti = ActiveWorkbook.Path
    Set fil1 = ActiveWorkbook
    antalRæk1 = ActiveSheet.Range("A65000").End(xlUp).Row

    Workbooks.Open sti & "\" & fil2Navn
    Set fil2 = ActiveWorkbook
End Sub
Private Function findesIdArk2(kundeId) As Integer
    fil2.Activate
    With ActiveSheet.Range("A2:" & "A" & 65000)
        Set c = .Find(kundeId, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            findesIdArk2 = c.Row
        Else
            findesIdArk2 = 0
        End If
    End With
End Function
Private Sub hentDataFra2(ræk2, ræk1)
    fil2.ActiveSheet.Range("B" & ræk2 & ":D" & ræk2).Select
    Selection.Copy
   
    fil1.Activate
    ActiveSheet.Range("H" & ræk1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
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

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