Avatar billede Slettet bruger
04. marts 2014 - 12:34 Der er 18 kommentarer og
2 løsninger

hjælp til formle/vba kode.

Hej eksperter!


Jeg har en masse celler der bliver fyldt ud med info i A2:M10000
Er der en formle eller en vba kode der tager
De sidste data der er indsat i de celler.
Fks. Nogle af cellerne er tomme, men når der bliver indtaste data så kommer der nogle tal i A2:M10000. Men vba / formlen skal selv finde ud af hvilken række er de nyeste data?

findes der en løsning?

Tak på forhånd.
Avatar billede claes57 Ekspert
04. marts 2014 - 14:22 #1
Så skal du nok have et skjult ark bagved, og i dette kun dato/klokkeslæt.
Hver gang et felt ændres i dit ark, så skal dato/tid opdateres i det skjulte ark. Og så har du en mulighed for at kunne finde de nyeste data.
Avatar billede Slettet bruger
04. marts 2014 - 15:10 #2
#claes57 Mulighed for at få et eksempel på mail af det du mener?
Avatar billede claes57 Ekspert
04. marts 2014 - 15:23 #3
det var bare en strøtanke.
Avatar billede Slettet bruger
04. marts 2014 - 16:18 #4
#claes57 ganske fin tanke.
Men aner ikke lige hvordan præcis jeg skal lave det, derfra aner jeg ikke om det ville virke.
Avatar billede claes57 Ekspert
04. marts 2014 - 17:18 #5
noget som
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
' runs when a sheet is changed
If Sh = "ark1" Then
    Worksheets("datotid").Range(Source).Value = Now()
End If
End Sub


dvs hvis der er ændring i ark1, så vil der i arket datotid (som er skjult) indsættes dato/tid i tilsvarende felt.
Så har du en log - og du kan nu søge efter nyeste i arket 'datotid' og så har du en reference til dit 'ark1'.
Avatar billede jens48 Ekspert
04. marts 2014 - 23:52 #6
Claes57s idé er her lavet så tidspunket skrives ind i kolonne N (kolonnen er bestemt af "14" i tredjesidste linie)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:M10000")) Is Nothing Then
Row = Target.Row
Cells(Row, 14) = Now()
End If
End Sub
Avatar billede Slettet bruger
05. marts 2014 - 16:36 #7
Har ikke fået det testede endnu.
Men det skal mere eller mindre automatisk.
Så skal man søge på dato/tid, duer det ikke.

Legede på et tidspunkt med en masse 'hvis formel' - men gør at jeg skal udfylde dobbelt så mange felter.
Avatar billede claes57 Ekspert
05. marts 2014 - 16:59 #8
du behøver ikke søge på dato/tid - det laver du en makro til og den kan fx laves, så den finder de 10 nyeste og markerer dem ved at skifte baggrundsfarven på dit hovedark, og køres ved start + ved kald.
Makroen skal så første sætte alle felter til en neutral baggrundsfarve så farver fra sidste kørsel fjernes, og derefter markere de fx 10 nyeste.
Der er bare ingen grund til at starte på den makro før dato/tid systemet er på plads.
Avatar billede Slettet bruger
06. marts 2014 - 00:38 #9
#Claes57 kan ikke få din til at virke.
#Jens58 din virkede med det samme og det virker som om de ville kunne bruges.

Kom i tanke om en kode der automatisk lave det i alfabetisk orden om man kunne evt. Bruge en ligne kode til at flyt de nyeste data øverest -men ikke muligt da dato/tid ændres.

Eller er der uden af de tider ændres?

#claes57 den kunne nok os bruges, men sikker på at dato/tid ikke ændres når den køres?
(Gerne i samme ark som den anden kode).
Avatar billede claes57 Ekspert
06. marts 2014 - 09:01 #10
ville det ikke være forvirrende hvis man indtaster et tal i linje 9000, og i det øjeblik man trykker Enter, så forsvinder linjen (og ryger op til linje 2, hvorfor man så skulle scrolle op til start)?
Avatar billede Slettet bruger
06. marts 2014 - 10:39 #11
#claes57 ikke hvis man tager i betragtning at dette ark med disse celler er et skjult ark.

Meget bedre formuleret.

Ark1. Tæller på en bestem dato på et helt år.
disse data bliver lageret i ark2 som en ala database(skjult) Grunden til at der er fra A2:M2 er blandt andet mdr. (Der skal muligvis flere rækker ind - men svært at se når man ikke kan teste det rigtigt).

I ark1 er der så en celle der skal finde den nyeste indtastede værdi som er på et år kommer der data ind i A2:M10000. Kunne være =SUM(A2:M2) - som er kun er i cellen N2 Ville de data som er de nyeste altid komme op til N2 så cellen i ark1 altid får de nyeste data.
Avatar billede Slettet bruger
06. marts 2014 - 12:58 #12
Men kan ikke laves på den måde.
Da tid og dato bliver ændret når de flyttes rundt.
Avatar billede Slettet bruger
06. marts 2014 - 23:28 #13
Nogle der har et bud?
På det sidste der mangler?

Der er os den mulighed at der er en celle i N2 der siger =SUM(A2:M2) som så flytter sig ned eller op alt efter hvilket er det nyeste data.
Avatar billede Slettet bruger
21. marts 2014 - 20:10 #14
For hæver med 140 point. til dem der kan løse opgaven.
Avatar billede jens48 Ekspert
21. marts 2014 - 21:38 #15
Jeg spekulerede på om det ikke ville være smartere om du altid tastede nye værdier ind i række 2, og så havde en makro der rykkede det hele en række nedad og derved gjorde plads til indtastning af nye data i række 2. Så ville du også altid have de nyeste indtastede data øverst. Hvis den løsning kan bruges laver jeg gerne makroen
Avatar billede Slettet bruger
21. marts 2014 - 22:18 #16
Jens48 læg et spar. har lyst opgaven med en del af din kode.
Lavet lidt om.

Skriver dato og tid i cellen P3:P10000.
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A3:O10000")) Is Nothing Then
Row = Target.Row
Cells(Row, 16) = Now()

End If
End Sub

Resten har jeg brugt nogle formler til.

N3 Giver i alt for A3:M3
N4 Giver i alt for A4:M4
N5 Giver i alt for A5:M5
Osv. der ned af.

Celle P2 finder den nyeste dato & tid.
=MAKS(P3:P10000)

Cellen finder ud af om Datoen I P3:P10000 er ens med P2.
Celle O3 =HVIS($P$2=P3;N3)
Celle O4 =HVIS($P$2=P4;N4)
Celle O5 =HVIS($P$2=P5;N5)
Osv. Ned af.

#Jens48 Er den os bedre end den løsning jeg har fundet her?
Avatar billede Slettet bruger
22. marts 2014 - 09:45 #17
Boom.
Avatar billede Slettet bruger
23. marts 2014 - 23:27 #18
Jens48 får jeg et svar :)?
Avatar billede jens48 Ekspert
24. marts 2014 - 08:53 #19
Du får et svar. Jeg forstod ikke helt hvad du mente med spørgsmålet i #16.
Avatar billede Slettet bruger
24. marts 2014 - 10:29 #20
Jeg har løst opgaven med din dato/Tid vba kode.
dog har jeg lavet nogle formaler der kan finde nyeste dato/tid som nævnt i #16 dog lavet en del mere om efterhånden.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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