PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelLåsa dagens datum datumLåsa dagens datum datum
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-01-30 09:45
 
 Ändrad av Kumlin  på 2023-01-30 09:54:49

 Hej

Jag är ny på Excell och håller just nu på att bygga upp en enklare Dagbok/WBS.

jag har skapat en lista med projektets alla steg och i vilken ordning de ska göras. varje "moment" har 2st  alternativ med ibockningsrutor.

"Avklarad" eller "Ej Aktuell"

klickar jag i ej aktuell så blir hela raden röd och man kan bortse från den punkten. klickar man där emot i "avklarad så önskar jag att dagens datum fylls i i nästa cell. Jag har kommit så pass långt att dagens datum fylls i som jag vill. problemet är bara att nästa gång jag öppnar denna Dagbok/WBS så är det den dagens datum som står.

Jag skulle önska att datumet som kommer när jag klickar i bocken stannar kvar. så jag kan se vilket datum jag gjorde vilket "Moment" i projektet.

idag använder jag =(B3=SANT)*IDAG()

vad bör jag använda mig av istället? för att få detta att fungera.

MVH

Nytt inlägg
 2023-01-30 10:47
 

 Det går i princip inte med formler eftersom de uppdateras hela tiden. Du kan köra en formel som kör en cirkelreferens mot sig själv. Men det är att be om problem eftersom du måste stänga av Excels kontroll av cirkelreferenser (och det.vill.du.inte)

Kan du inte köra [Ctrl]+[shift]+[;]  istället? Då skrivs dagens datum in.

Alternativet är att skriva ett makro. Men då måste du ställa ner säkerhetsnivån på excel. Och det skall du undvika om du inte har lite koll på makron.

https://trumpexcel.com/date-timestamp-excel/

 

Återstår "power Automate" eller en powerQuery som inte kräver sänkt säkerhet för att köras. Men de är å andra sidan svåra (omöjliga?) att starta från en cell.

Nytt inlägg
 2023-01-30 11:54
 

Hej och tack för svar.

 Jag anade tyvärr att det var detta svar jag skulle få. Smidigast är kanske att förenkla dokumentet och att det då krävs något mer handpåläggning istället.

Jag har absolut inte koll på makron och ändra i inställningar mm känner jag mig inte heller trygg med.

jag önskade bara ett litet smidigt knapptryck och så kom dagens datum upp för att sedan stanna.

MVH

Nytt inlägg
 2023-01-30 15:54
 

En trefingerssalut är ju nästan ett knapptryck.
Ctrl+Shift+; 

:-)

Men. Du kan ju testa AUTOMATE (om du har fått det som meny i excel). Det är excel nyaste scriptspråk (Javascript-ish) och den kräver inga ändringar av säkerhetsnivå. 

gå till Menyn "Automate" och tryck på knappen "nytt skript"

då bör du få upp en kodredigerare till höger. Klistra in en kod i stil med:

function main(workbook: ExcelScript.Workbook) {
    let date = new Date(Date.now());
    let rKolla_i = workbook.getActiveWorksheet().getRange("C3");
    let rSkriv_Till = workbook.getActiveWorksheet().getRange("D3");
    if (rKolla_i.getValue() == true) {
        rSkriv_Till.setValue(date.toLocaleDateString());
    }
}

 

Det är ett skript som kollar om C3 är =sant. Om det är sant så klistras dagens datum in i D3  (Det går naturligtvis att ändra).

Högst upp till höger i kodredigeraren finns det 3 punkter ...  Klicka där och byt namn till något vettigt (typ "DatumLog")

Klicka på ... igen och välj [knappen Lägg till]

Nu får du in en knapp i excelbladet som matar in dagens datum i D3 om C3=sant

Om du behöver flytta på knappen så kan du högerklicka. Då hamnar du i något slags edit-läge

 

Du kan även låta knappen mata in SANT och skriva in datumet så får du en knapp som gör jobbet.

function main(workbook: ExcelScript.Workbook) {
    let date = new Date(Date.now());
  workbook.getActiveWorksheet().getRange("C3").setValue(true);
  workbook.getActiveWorksheet().getRange("D3").setValue(date.toLocaleDateString());
  }
 
OBS! Du måste spara skriptet när du ändrat, annars funkar inte knappen.
 
 
En tredje variant är att utgå ifrån aktiv cell, skirva in SANT och klistra in logdatumet en cell till höger
function main(workbook: ExcelScript.Workbook) {
  let date = new Date(Date.now());
  let cell = workbook.getActiveCell();
  cell.setValue(true);
  cell.getOffsetRange(01).setValue(date.toLocaleDateString());
  }
Då kan du använda knappen på oli
Men. Jag vet tyvärr inte hur man får "automate" att känna av om något ändras på bladet. Så det verkar krävas en knapp med den här lösningen.

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelLåsa dagens datum datumLåsa dagens datum datum

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter