25. juli 2008 - 08:52Der er
7 kommentarer og 1 løsning
Find unikt værdi, og fremsøg anden celle i samme række
Hej
Jeg sidder og har en lille opgave som jeg håber en af jer kan løse?
Jeg har et ark (Ark1) som indeholder en masse unikke numre i Kolonne Q. I et anden fane (Ark2) har jeg et udpuk af samme unikke værdier, disse figurerer i kolonne (U). Forskellen er, at i Ark2 er dette kun et udpuk, men der er noteret nogle kommentarer i Kolonne E, F og G. Disse Kommentarer vil jeg meget gerne have indsat i Ark 1 i Kolonne A, B og C. Tvisten i opgaven er at kommentaren kun skal indsættes i rækken hvor den unikke værdi i Ark1 Kolonne Q er = Ark 2 Kolonne U. Jeg kan ikke sætte dem i række følge og derfor skal kommentaren skal indsættes i den række i Ark1 hvor den unikke fremkommer.
Rem Koden anbringes under Ark1 (højreklik på Ark1 / Vis programkode / indsæt denne kode) Rem Igangsættes ved Alt+F8 - vælg "Opdater" Afspil eller forbind "Opdater" m/1 knap i Ark1. Rem ======================================================================================= Dim a1 As Worksheet, a2 As Worksheet Public Sub opdater() Application.ScreenUpdating = False
opsætningAfArk traverserArk2
MsgBox ("Opdatering af kommentarer er udført") a1.Activate
End Sub Private Sub opsætningAfArk() Set a1 = ActiveWorkbook.Sheets("Ark1") Set a2 = ActiveWorkbook.Sheets("Ark2") End Sub Private Sub traverserArk2() Dim antalRæk, nr, kom1, kom2, kom3 Dim rækA1 a2.Activate
Rem find antal rækker på Ark2 antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
For ræk = 1 To antalRæk Rem hent nr fra kolonne U nr = a2.Range("U" & CStr(ræk)).Value Rem Hvis nr er numerisk - hent kommentarer If IsNumeric(nr) = True And nr <> "" Then kom1 = a2.Range("E" & CStr(ræk)).Value kom2 = a2.Range("F" & CStr(ræk)).Value kom3 = a2.Range("G" & CStr(ræk)).Value
Rem Find Nr på Ark1 rækA1 = findNr(nr) If rækA1 > 0 Then overførKommentarer rækA1, kom1, kom2, kom3 End If End If Next ræk End Sub Private Function findNr(nr) With a1.Range("Q1:Q65000") Set c = .Find(nr, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findNr = c.Row Exit Function End If End With findNr = 0 End Function Private Sub overførKommentarer(ræk, kom1, kom2, kom3) a1.Activate
Hvis du vil give point - må du acceptere svaret...
Synes godt om
Ny brugerNybegynder
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.