24. juli 2011 - 21:18Der er
17 kommentarer og 1 løsning
Returner den sidste værdi - ved forspørgsel
Jeg har følgende opstilling
Unique Id Start Date Pension
Joachim 08-01-2007 HDO AA 15-08-2007 HDO BB 01-04-2008 HDO CC 01-04-2009 HDO CC 01-04-2010 HDO CC
Den indeholder ca 200 navne.
Hvert navn står kun anført i en celle (Kolonne A)og kun en gang, men kan have et antal variable rækker nedefter.
Min udfordring består i at jeg skal danne en liste som indeholder følgende Kolonne A Kolonne B Kolonne C Unique Id Start Date Pension Navn Den nyeste dato Pensions ordningen som høre til datoen
Jeg kan ikke lige gennemskue hvordan jeg kan danne denne liste uden at lave alt for meget manuelt eller for mange ark.
Løsningen skal bruges til at afstemme pension for ialt 4000 medarbejderede mellem 2 systemer
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Dim antalRæk As Long, ræk As Long, ræk2 As Long Dim navn As String, dato As Date, ordning As String Public Sub nyestePension() Rem beregn antal rækker antalRæk = ActiveCell.SpecialCells(xlLastCell).Row ræk2 = 2
Application.ScreenUpdating = False
For ræk = 2 To antalRæk If ræk = 2 Then 'opstart navn = Range("A2") dato = Range("B2") ordning = Range("C2") Else If Range("A" & ræk) <> "" Then 'brud - opbyg nyeste i kol E-G Range("E" & ræk2) = navn Range("F" & ræk2) = dato Range("G" & ræk2) = ordning ræk2 = ræk2 + 1
navn = Range("A" & ræk) End If dato = Range("B" & ræk) ordning = Range("C" & ræk) End If Next ræk Rem sidste brud Range("E" & ræk2) = navn Range("F" & ræk2) = dato Range("G" & ræk2) = ordning
Hej Supertekst den virkede super godt - lige indtil der kommer personer op med helt blanke linier i datoen (arket indeholder flere kolonner) Så nu er det lykkedes mig at lave et ark hvor alle celler har en værdi.
Altså NAVN DATO ORDNING Joachim 08-01-2007 HDO AA Joachim 15-08-2007 HDO BB Joachim 01-04-2008 HDO CC Joachim 01-04-2009 HDO CC Joachim 01-04-2010 HDO CC
Så det jeg reelt har behov for er en VBA som siger. If row "er størst" inden for det samme navn - så skal den tage en kopi af hele rækken og ligge over i ark 2
er jeg helt sort ??
Den sidste dato vil altid ligge som den sidste på personen.... så måske noget i retning af
If Range ("A2") <> Range ("A") then copy row past special Sheet1
Men jeg kan ikke rigtig finde ud af at sætte det ind i en VBA har været på kursus - men kan ikke helt starte de VBA'er op endnu ??
Rem version 2 Dim antalRæk As Long, ræk As Long, ræk2 As Long Dim navn As String Public Sub nyestePension() Rem beregn antal rækker antalRæk = ActiveCell.SpecialCells(xlLastCell).Row ræk2 = 2
Application.ScreenUpdating = False
For ræk = 2 To antalRæk If ræk = 2 Then 'opstart navn = Range("A2") Else If Range("A" & ræk) <> navn Then udførBrud End If End If Next ræk Rem sidste brud udførBrud Application.ScreenUpdating = True End Sub Private Sub udførBrud() Rows(ræk - 1 & ":" & ræk - 1).Select Selection.Copy
Rem version 3 Dim antalRæk As Long, ræk As Long, ræk2 As Long Dim navn As String Public Sub nyestePension() Rem beregn antal rækker antalRæk = ActiveCell.SpecialCells(xlLastCell).Row ræk2 = 2
Application.ScreenUpdating = False
For ræk = 2 To antalRæk If ræk = 2 Then 'opstart navn = Range("A2") Else If Range("A" & ræk) <> navn Then udførBrud End If End If Next ræk Rem sidste brud udførBrud Application.ScreenUpdating = True End Sub Private Sub udførBrud() Rows(ræk - 1 & ":" & ræk - 1).Select Selection.Copy
nu har jeg forsøgt at løse den selv ved hjælp af VBA - men jeg kan ikke få den til det :( beklager misbruget af dig
/IDa
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.