12. marts 2014 - 11:27Der er
11 kommentarer og 1 løsning
Erstat værdi i et ark med værdi fra et andet ark ud fra 2 kriterier
Jeg har ark 1. Der står en masse rækker. CPR og et tilfældigt sted i denne række står værdien xxxxx/dd/g11
Jeg har ark 2. der står: Ax: cpr Bx:xxxxx/dd/g11 Cx:aaaa
jeg ønsker at køre en macro der gør følgende: Med udgangspunkt i ark2. Tag cpr i AX. Slå værdi op i ark1. find værdi i bx i ark 2 og ark 1 og erstat denne med cx i ark 1
Rem VBA indsættes under Ark2 Rem ======================== Dim AXCpr, BXværdi, CXværdi Dim række As Integer, kolonne As Integer Sub udførSøgOgErstat() AXCpr = ActiveSheet.Range("A1") 'kan justeres BXværdi = ActiveSheet.Range("B1") CXværdi = ActiveSheet.Range("C1")
række = findRække(ActiveWorkbook.Sheets(1), "A1:A65000", AXCpr) If række > 0 Then kolonne = findKolonne(ActiveWorkbook.Sheets(1), "A" & række & ":XFD" & række, BXværdi) If kolonne > 0 Then Sheets(1).Activate ActiveSheet.Cells(række, kolonne).Select Selection = CXværdi End If End If
Sheets(2).Select End Sub Private Function findRække(ark, område, id) With ark.Range(område) Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findRække = c.Row Else findRække = 0 End If End With End Function Private Function findKolonne(ark, område, id) With ark.Range(område) Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findKolonne = c.Column Else findKolonne = 0 End If End With End Function
I Private Function findKolonne(ark, område, id) With ark.Range(område) Set c = .Find(id, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findKolonne = c.Column Else findKolonne = 0 End If End With End Function
Siger debug, at der er en fejl i: With ark.Range(område)
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.