Just nu i M3-nätverket
Gå till innehåll

Snabbdatum


Ruatha2

Rekommendera Poster

Kan man på något sätt få in ett datum i en cell genom att bara klicka där.

Göra så att cellen själv sätter in det datum som är aktuellt när den blir klickad på, och sedan kommer ihåg det datumet framöver (Inte byter nästa dag, såtillvida ingen klickar på den förstås!)?

 

Länk till kommentar
Dela på andra webbplatser

Nja, visst går det men det finns bättre sätt.

 

Förhand så ger CTRL+; att dagens datum skrivs in i aktuell cell, dvs med svensk tangentbord blir det CTRL+SHIFT+,

 

Eller om du vill blanda in VBA på snyggt och bra sätt:

Infoga en VBA-knapp, ge den lämpligt text och klicka på visa kod i högerklicksmenyn. Här kan du skriva in

Range("A1") = Date

 

Och det jobbiga sättet är via händelsehanteringen. så kan du ex.v. reagera på dubbelklick:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target = Range("a2") Then
       Target = Date
       Cancel = True
   End If
End Sub

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Hej och tack för svaret..

Det jobbiga alternativet låter bäst :)

Hur får jag upp kodinmatningsfönstret för att skriva in din kod?

(Newbie fråga antar jag)

 

Oj, vid eftertanke, då måste jag skriva kod för varje cell , dvs typ 400 st ...

Kanske bäst med shift´ctrl+, ändå, men det är inte så användarvänligt dock..

[inlägget ändrat 2006-09-22 15:32:24 av Ruatha 2]

Länk till kommentar
Dela på andra webbplatser

öppna bladet du vill ha funktionen på och högerklicka på namnlistan. Välj där Visa kod. Det är nog den enklaste vägen för en nybörjare till det aktuella bladets VBA-blad.

 

Edit (ser jag)

Viil du ha det på flera celler?

Kanske rad 1 till 400?

[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    [color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] Intersect(Target, Range([GRÅ]"A1:A400"[/GRÅ])) Is [color="#0000ff"]Nothing[/color] [color="#0000ff"]Then[/color]
    Target = [color="#0000ff"]Date[/color]
    Cancel = [color="#0000ff"]True[/color]
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

 

 

:)

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2006-09-22 15:36:49 av Monshi]

 

[inlägget ändrat 2006-09-22 15:37:09 av Monshi]

Länk till kommentar
Dela på andra webbplatser

Oj, vid eftertanke, då måste jag skriva kod för varje cell , dvs typ 400 st ...

Nejdå. Ändra bara raden:

If Target = Range("a2") Then

i Monshis kod. Dvs du ändrar "a2" till det område du vill täcka, t.ex "A2:A402".

 

Länk till kommentar
Dela på andra webbplatser

Nej MH, riktigt så enkelt är det inte. Se min uppdatering

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...