Avatar billede lycan Nybegynder
12. maj 2011 - 21:25 Der er 49 kommentarer og
1 løsning

automatisk dato i kollonne

hejsa.

det er saadan at jeg sidder paa en engelsk pc uden rettighed til at aendre tastetur saa baer over med mig ;)

Jeg kunne godt taenke mig at jeg fik lave en kollonne saa som J kolonnen til automatisk at skrive dato og klokkesaet ind saa snart jeg bare marker en kollonne "TAB"er over paa alle J'erne. uden at skrive noget eller trykke paa tasteturet?


Men det er kun i J kollonnen..

jeg har spurgt omkring mig om en macro eller noget men ingen har nogen ide saa jeg ville proeve herinde.


Paa forhaand tusind tak for svar!
Avatar billede jens48 Ekspert
12. maj 2011 - 22:29 #1
Nu er jeg ikke sikker på at jeg forstår dig korrekt, men denne makro skriver dato og tid i kolonne J, når der rettes i kolonne B.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B:B")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  ActiveCell.Offset(0, 8) = Format(Now(), "dd-mmm-yyyy hh:mm")
End If
Application.ScreenUpdating = True
End Sub

Hvis markøren flyttes ned efter indtastning skal offset ændres til offset(-1, 8)
Avatar billede anlu Nybegynder
12. maj 2011 - 22:33 #2
Jeg er ikke sikker på jeg helt har forstået hvad du vil, men måske dette kan bringe dig videre:

Nedenstående stump kode i det pågældende worksheet gør det at den hvis der vælges en tom celle (med mus eller tab) i kolonne J, så udfylder den med aktuel dato/tid. Hvis der vælges mere end 1 celle, gør den ikke noget, og hvis der allerede står noget overskrives det ikke.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 10 And Target.Cells.Count = 1 And Target.Value = "" Then
        Target.Value = Now
    End If
End Sub
Avatar billede Ialocin Novice
12. maj 2011 - 22:35 #3
Hej lycan

Følgende kode indsætter dato og klokkeslet i den aktive celle kolonne J, så snart en celle i kolonne tilgåes.

Koden skal ligge i Thisworkbook modulet i VBA editoren:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
 
  If Target.Column = 10 Then

      Target.Value = Now()
  End If

End Sub


Med venlig hilsen, Nicolai
Avatar billede jokerper Nybegynder
12. maj 2011 - 22:35 #4
Nej, jeg tror det er sådan her han mener:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("J:J")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
End If
End Sub
Avatar billede Ialocin Novice
12. maj 2011 - 22:36 #5
Ups ... der mangle et J

Følgende kode indsætter dato og klokkeslet i den aktive celle kolonne J, så snart en celle i kolonne j tilgåes.
Avatar billede anlu Nybegynder
12. maj 2011 - 22:39 #6
He, he - forvirringen er total. Men håber at nogen af os har ramt det der er brug for :)
Avatar billede lycan Nybegynder
12. maj 2011 - 22:51 #7
altsaa det jeg gjorde var bar at tage NOW formlen men saa aendrede tiden sig hver gang jeg satte en ny ind..

Hvor saetter jeg koden ind>
Avatar billede jokerper Nybegynder
12. maj 2011 - 22:56 #8
Hvis den ikke skal skifte tiden, så sæt dette ind under dit ark i vba hvor du vil have koden skal virke.

alt+F11 = VBA

----------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("J:J")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  If ActiveCell.Offset(0, 0) = "" Then
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  Else
  End If
End If
End Sub
Avatar billede lycan Nybegynder
12. maj 2011 - 22:58 #9
jeg har nu sat koden ind, men jeg kan ikke faa den til at virke? den er ikke i View macros...

men naar jeg trykker ALT+F11 saa staar den der.

jokerper, skal jeg saette den ned under den foerste kode? ogsaa aendre den sig ikk i f.eks J11 naar jeg trykker paa J12?
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:05 #10
Under ark 1
eller
sheet 1 (engelsk version)

Alt efter hvor du skal bruge koden.

Det virker fint hos mig den indsætter aktuel dato/tid hver gang jeg hopper ind over kolonne J hvis cellen er tom.
Avatar billede lycan Nybegynder
12. maj 2011 - 23:09 #11
error note:

The following features can not be saved in macro-free-workbooks.

VB project.

to save a file with these features, click No, and then choose a macro-enable file type in the file type list.


??????? blank kan du evt give mig en step by step torturial?
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:10 #12
Hvis du forestiller dig et skema som udfyldes hen ad rækkerne, så når du når til kolonne J så indsætter den dato/tid.

Hvis du så udfylder en ny række, så vil den i den nye række indsætte dato/tid igen der.

Retter du i en række som der er udfyldt så overskriver den ikke tiden, som koden er nu ellers skal bruge den fra min kommentar:

If Intersect(Target, Range("J:J")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
End If
End Sub

Så opdaterer den tiden i cellen.
Avatar billede lycan Nybegynder
12. maj 2011 - 23:11 #13
kan du adde mig paa MSN : jimmy_moll@hotmail.com
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:12 #14
2007 version

.xlsm

Er macro baseret.
Avatar billede lycan Nybegynder
12. maj 2011 - 23:15 #15
GREAT DET VIRKER!!! fedest tusinde tak Jokerper! hvordan giver jeg dig pointsne?

og er det muligt at LAASE alle felter undtagen nogle enkelte kolloner?
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:19 #16
Svar, det må du lige uddybe...

Bare accepter nederst på siden.
Avatar billede lycan Nybegynder
12. maj 2011 - 23:21 #17
Igen mange tak, men er det saadan du ku taenke dig resten af mine point? har lige to spoergsmaal mere nemlig, hvis du lige adder mig paa msn ka jeg lige uddybe?
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:22 #18
Jeg  har desværre ikke msn.

Men bare skriv
Avatar billede lycan Nybegynder
12. maj 2011 - 23:25 #19
1)
vil gerne goere saa jeg ikke kan skrive i J kollonnen men kun marker den saa datoen kommer ind saa den ikke kan aendres..
Avatar billede lycan Nybegynder
12. maj 2011 - 23:30 #20
og laase alle andre kollonner og aendre J kolloens Macro kode til kolonne G
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:34 #21
så brug denne kode i stedet for:  Ark1.Unprotect/  Ark1.protect

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("J:J")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  If ActiveCell.Offset(0, 0) = "" Then
  Ark1.Unprotect
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  Ark1.Protect
  Else
  End If
End If
End Sub
Avatar billede lycan Nybegynder
12. maj 2011 - 23:36 #22
skal jeg bare saette den ind neden under den foerste???
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:38 #23
Så skal du nok bare lige markere hele arket og så vælge ingen celler som låste.

Maker hele arket og højre klik og vælg formater celler og vælg beskyttelse fjern fluebenet i lås celler.
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:38 #24
Overskriv koden
Avatar billede lycan Nybegynder
12. maj 2011 - 23:40 #25
nu den helt gal, overskrev koden fra det med dato i J, og nu hopper den ind i MVA med en error boks.. :S
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:43 #26
Vælg end stop eller stop debug og prøv igen.

Du skal bare indsætte dette:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("J:J")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  If ActiveCell.Offset(0, 0) = "" Then
  Ark1.Unprotect
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  Ark1.Protect
  Else
  End If
End If
End Sub
Avatar billede lycan Nybegynder
12. maj 2011 - 23:45 #27
Debugged den, og saa gaar den ind i koden og marker ARK1 unprotected, aendre den os J kolonnen (dato og tid) til G?
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:49 #28
Marker kolonne a til i og højre klik og vælg formater celler og vælg beskyttelse fjern fluebenet i lås celler.

I menu linien "Gennemse" kan du vælge beskyt ark.
Avatar billede lycan Nybegynder
12. maj 2011 - 23:52 #29
saa langt saa godt nu mangler jeg datoerne og tiden som vi havde i kollonne J til at blive kollonne G
Avatar billede jokerper Nybegynder
12. maj 2011 - 23:54 #30
Check din mail : jimmy_moll@hotmail.com
Avatar billede lycan Nybegynder
12. maj 2011 - 23:59 #31
Tjek mail.
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:04 #32
Ændre ark1 til sheet1.unprotect

Så virker det..

Så har du den igen - tjek mail.
Avatar billede lycan Nybegynder
13. maj 2011 - 00:07 #33
er jeg lidt besvaerlig? :b
hehe..

well.. tid og dato er stadig i J kolonnen. (sku gerne vaere i G)
og jeg vil have at naar jeg har ramt G kollonen at den hopper tilbage til B i stedet for I.
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:14 #34
Tjek din mail...
Avatar billede lycan Nybegynder
13. maj 2011 - 00:15 #35
det er den samme du sendte foer..

:S
Avatar billede lycan Nybegynder
13. maj 2011 - 00:17 #36
kan du ik bar skrive mig koden til hvordan jeg faar Dato og tid ind i G kolonnen saa leger jeg mig frem til resten med den info og traening du har laert mig.
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:25 #37
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("G:G")) Is Nothing Then
  Exit Sub
Else
  Application.ScreenUpdating = False
  If ActiveCell.Offset(0, 0) = "" Then
  Sheet1.Unprotect
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  Sheet1.Protect
  ActiveCell.Offset(1, -5).Select
    Else
  End If
End If
End Sub
Avatar billede lycan Nybegynder
13. maj 2011 - 00:39 #38
sidste spoergsmaal  jeg vil gerne have at naar jeg trykker enter skubber den bar det jeg har skrevet i boksen OPad i samme boks saa jeg ka skrive mere i samme.

med andre ord at enter ik skifter linje men bar laver et hak som i word.
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:42 #39
Prøv lige denne kode:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("G:G")) Is Nothing Then
  Exit Sub
Else

If ActiveCell.Offset(0, 0) <> "" Then
ActiveCell.Offset(1, -5).Select
ElseIf ActiveCell.Offset(0, 0) = "" Then
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  ActiveCell.Offset(1, -5).Select
    Else
  End If
End If
End Sub


Ser lige om jeg har tid til det andet du spørger om...
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:51 #40
Sådan her:

Range("a:f").WrapText = True
Avatar billede lycan Nybegynder
13. maj 2011 - 00:57 #41
hvor ska jeg saette den ind henne?
Avatar billede jokerper Nybegynder
13. maj 2011 - 00:57 #42
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("a:f").WrapText = True
If Intersect(Target, Range("G:G")) Is Nothing Then
  Exit Sub
Else

If ActiveCell.Offset(0, 0) <> "" Then
ActiveCell.Offset(1, -5).Select
ElseIf ActiveCell.Offset(0, 0) = "" Then
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  ActiveCell.Offset(1, -5).Select
    Else
  End If
End If
End Sub
Avatar billede lycan Nybegynder
13. maj 2011 - 01:01 #43
mente den med enterknapper saa jeg ik gaar en linje ned men bliver i samme boks og gaar en linje ned i den. som om den faktisk er en tekst boks???
Avatar billede jokerper Nybegynder
13. maj 2011 - 01:12 #44
Du skal bare blive ved med at skrive i cellen så flytter det sig. Det vil nok ikke være godt at lave om på enter funktionen. men så brug alt+enter hvis du ønsker større linie anstand.
Avatar billede lycan Nybegynder
13. maj 2011 - 01:15 #45
den nye kode virker ikke, faar error fejl END DEBUG igen, og den bliver ved. selvom jeg end den.
Avatar billede lycan Nybegynder
13. maj 2011 - 01:21 #46
og hver gang jeg lukker den ned saa forsvinder koden?? saa jeg skal saette den ind paa ny. altsaa den der virkede. venligst svar tilbage paa email, det ville vaere fedt hvis du gider sende mig en guide til hvordan jeg gemmer den FAST paa excel filen saa jeg ikke behoever at skrive den hver gang jeg skal bruge arket.
Avatar billede jokerper Nybegynder
13. maj 2011 - 01:21 #47
Koden fejler ikke noget:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("a:f").WrapText = True

If Intersect(Target, Range("G:G")) Is Nothing Then
  Exit Sub
Else

If ActiveCell.Offset(0, 0) <> "" Then
ActiveCell.Offset(1, -5).Select
ElseIf ActiveCell.Offset(0, 0) = "" Then
  ActiveCell.Offset(0, 0) = Format(Now(), "dd-mmm-yyyy hh:mm")
  ActiveCell.Offset(1, -5).Select
    Else
  End If
End If

End Sub
Avatar billede lycan Nybegynder
13. maj 2011 - 01:25 #48
men den gemmer ikke Koden naar jeg gemmer excel og aabner den igen saa koden er koden bar helt vaek fra VMA eller hva det sted med koderne hedder..
Avatar billede lycan Nybegynder
13. maj 2011 - 01:26 #49
du faar et screen af mit problem og selve filen
Avatar billede jokerper Nybegynder
13. maj 2011 - 01:28 #50
Så har du den.
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