Trelkrok Skrevet 29. oktober 2018 Del Skrevet 29. oktober 2018 Hei, gjelder makro i norsk Excel 2010 Hvis celle B6 endres vil jeg ha stemplet dato i C6 Hvis celle B7 endres vil jeg ha stemplet dato i C7 osv Hvis celle D6 endres vil jeg ha stemplet dato i E6 Hvis celle D7 endres vil jeg ha stemplet dato i E7 osv Det vil si dato bak hver celle som blir endret (hvite felter) se vedlegg. Noen som kan hjelpe meg med en makro som gjør dette? Mvh RA Test med datostempling.xlsx Lenke til kommentar
Harald Staff Skrevet 29. oktober 2018 Del Skrevet 29. oktober 2018 Hei Aller først: Du kan ikke ha makroer i en xlsx-fil. Det filformatet er laget for at det er garantert makrofritt, noe finansverdenen har bedt om. Du må lagre som makroaktivert xlsm. Så, høyreklikk arkfanen, Vis Kode / View Code. I rullefeltene over den hvite modulen, velg Worksheet i den venstre og Change i den høyre. Da opprettes en tom makro som kjører hver gang du endrer innholdet i en eller flere celler. Fyll inn så den blir seeende slik ut: Private Sub Worksheet_Change(ByVal Target As Range) If Target(1).Column = 4 Then 'Bare kolonne D Target(1).Offset(0, 1).Value = Date 'Dato 'eller 'Target(1).Offset(0, 1).Value = Now 'Dato-klokkeslett End If End Sub Så blir jeg forvirret av vedlegget ditt. Du eksemplifiserer bare kolonne D (som er kolonne 4), men det kan se ut som du også vil at det skal skje videre mor høyre i de fargede cellene. Da skal If-setningen se slik ut i stedet: If Target(1).Column Mod 2 = 0 Then 'Annenhver kolonne Beste hilsen Harald Lenke til kommentar
Trelkrok Skrevet 29. oktober 2018 Forfatter Del Skrevet 29. oktober 2018 (endret) Hei Aller først: Du kan ikke ha makroer i en xlsx-fil. Det filformatet er laget for at det er garantert makrofritt, noe finansverdenen har bedt om. Du må lagre som makroaktivert xlsm. Så, høyreklikk arkfanen, Vis Kode / View Code. I rullefeltene over den hvite modulen, velg Worksheet i den venstre og Change i den høyre. Da opprettes en tom makro som kjører hver gang du endrer innholdet i en eller flere celler. Fyll inn så den blir seeende slik ut: Private Sub Worksheet_Change(ByVal Target As Range) If Target(1).Column = 4 Then 'Bare kolonne D Target(1).Offset(0, 1).Value = Date 'Dato 'eller 'Target(1).Offset(0, 1).Value = Now 'Dato-klokkeslett End If End Sub Så blir jeg forvirret av vedlegget ditt. Du eksemplifiserer bare kolonne D (som er kolonne 4), men det kan se ut som du også vil at det skal skje videre mor høyre i de fargede cellene. Da skal If-setningen se slik ut i stedet: If Target(1).Column Mod 2 = 0 Then 'Annenhver kolonne Beste hilsen Harald Hei, og TAKK for svar. Kopierte bare inn fra en makroaktivert xlsm til en ny bok, derfor xlsx-fil. Beklager litt klønete framstilling, men dine antagelser om om at det skal skje vider til høyre er helt korrekt. Funker topp, men hvis jeg sletter innholdet i det fargede rutene står forsatt datoen bak. Er det mulig og få til så datoen da blir borte hvis innholdet slettes? (nullstilling av rad)? Kan forøvrig nevne at fargene kommer av betinget formatering, 5=rød, 4=blå, 3= gul, 2=grønn og 1=grå og indikerer behov for bistand til personen på den raden. Mvh RA Endret 29. oktober 2018 av Trelkrok Lenke til kommentar
Harald Staff Skrevet 29. oktober 2018 Del Skrevet 29. oktober 2018 Så bra. Det løser vi med en enkel If: Private Sub Worksheet_Change(ByVal Target As Range) If Target(1).Column Mod 2 = 0 Then 'Annenhver kolonne If Trim(Target(1).Value) = "" Then 'tom eller space Target(1).Offset(0, 1).Value = "" 'blank Else Target(1).Offset(0, 1).Value = Date 'Dato End If End If End Sub Litt teori: Target er det som endres. Oftest er det en celle. Men ved innliming kan det være et helt celleområde, og et celleområde har ikke en Value, og så havarerer hele greia. Derfor jobber vi med Target(1) som er den første cella i området -og som oftest den eneste. En annen løsning kan være å loope hver celle i Target. Beste hilsen Harald Lenke til kommentar
Trelkrok Skrevet 29. oktober 2018 Forfatter Del Skrevet 29. oktober 2018 Tusen TAKK for hjelp Harald Mvh RA Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå