Avatar billede FinnLauridsen Forsker
25. marts 2018 - 15:10 Der er 17 kommentarer og
2 løsninger

time registering igen, igen

Jeg bruger en scanner til at indtaste start og stop tiden med
jeg bruger =NU() i barcode 128 til både start og stop, det virker fint , men når 
jeg scanner =NU() feks. 2 timer senere ændrer start tiden sig også
kan man lave sådan at der ikke opdateres ved en ændring ?
25. marts 2018 - 15:57 #1
Jeg ved hvad sådan nogle scannere kan klare, men på Excel siden kan det klares med lidt vba kode, der kopierer og indsætter som værdi.
Avatar billede FinnLauridsen Forsker
25. marts 2018 - 17:02 #2
Har du noget mere konkret, jeg kan se på
25. marts 2018 - 18:02 #3
Naturligvis


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 Then
        Target.Value = Target.Value
    End If
End Sub


Kan placeres på en arkfane og den vil automatisk konvertere formler til værdier, hvis der ændres i en enkelt celle.

Det kan naturligvis gøres mere afgrænset, men da jeg ikke kender dit ark er det svært at blive mere konkret ;-)
Avatar billede Dan Elgaard Ekspert
26. marts 2018 - 09:34 #4
Fortæl os, hvilken celle din =NU() formel står i, og vi kan hurtigt lave en event makro, der konvertere den til en værdi....
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 10:23 #5
=NU()  er et code128 stregkode ,
som jeg scanner når jeg skal angive min starttid i E8 og
ligeledes med min sluttid F8
Problemet er bare at når tiden er scannet i E8 til feks. 7:00
og jeg så scanner sluttid i F8,4 timer senere så ændre startiden sig til sluttiden
26. marts 2018 - 10:35 #6
Jeg har lagt et lille eksempel til dig her

https://www.it-fjernundervisning.dk/info/eksperten-svar

Koden ser i alt sin enkelthed sådan her ud:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, ActiveSheet.Range("E8:F8")) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub


Og virker sådan at når du skriver (scanner) noget til E8 eller F8 bliver det automatisk konverteret til værdi og bliver derfor ikke opdateret ved næste scanning.
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 10:50 #7
kan man udvide så det gælder hele E og F
26. marts 2018 - 10:54 #8
Naturligvis

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, ActiveSheet.Range("E1:F1").EntireColumn) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 11:08 #9
Hej Thor

når jeg indsætter en ny tid , så kommer den med runtime error
26. marts 2018 - 11:17 #10
Jeg har lagt en frisk version op på:
https://www.it-fjernundervisning.dk/info/eksperten-svar

Har testet uden at kunne få fejl.
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 11:47 #11
Den fortsætter med  run-time error og
Method`Range`of object`_Workshee`failed
26. marts 2018 - 11:50 #12
Mystisk - prøv at sende mig din fil
thor@it-fjernundervisning.dk
26. marts 2018 - 12:00 #13
Prøv at slette ActiveSheet, så det bliver

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E1:F1").EntireColumn) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 12:12 #14
ingen ændring
26. marts 2018 - 12:58 #15
Kan ikke få den til at fejle her, så det er lidt svært.
Prøv evt. med
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("E:F")) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub


Eller
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, ActiveSheet.Range("E1:F888")) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub


Men det er lidt skud i tågen.

Hvilken version af Excel bruger du?
Avatar billede FinnLauridsen Forsker
26. marts 2018 - 13:33 #16
den første af de to sidste virker :)

Excel 2016 DK

et lille ekstra spg.  omkring =HVIS

Kan man henvise til en tekst i den Logiske_test ?
eks.

=HVIS(D:8=YYY;"ok";"Ikke ok")  og der i celle D:8  finde bogstaverne YYY
26. marts 2018 - 13:37 #17
Super.
Det er bedst at oprette et nyt spørgsmål, så det giver mening i forhold til spørgsmålets overskrift.

Husk at markere er svar.
Avatar billede FinnLauridsen Forsker
28. marts 2018 - 17:18 #18
Hej Thor
jeg har brugt denne formel fra dig

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("E:F")) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub

som virkede lige indtil jeg ændrede E til C  og  F er stadig F nu skriver den samme tid i både C og F

Hvad skal jeg lige gøre ?
som jeg ser det kikker den på alle C-D-E-F er det korrekt  i D-F er der andre tal der ikke har med tiden at gøre

så på en måde skal den bare se på C  og F men jeg ved ikke lige hvordan jeg gør
29. marts 2018 - 08:02 #19
Hvad med

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Union(Columns("C:C"),Columns("F:F")) Is Nothing Then
        Target.Value = Target.Value
    End If
End Sub


(ikke testet)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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