/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Indsætte dato med makro
Fra : boro23
Vist : 647 gange
100 point
Dato : 15-08-12 21:01

Hjælp ønskes til vbakode

Hvis bogstavet ü bliver tastet i en eller anden celle i kolonne A (f.eks. A1), skal datoen i dag indsættes i cellen til højre kolonne B (f.eks. B1).

Jeg tror lige det er en for SION, er du der?

 
 
Kommentar
Fra : Brassovitski


Dato : 15-08-12 21:34

Formater kolonne B som dato "14-03-2012"
Indsæt formlen =HVIS(A1="Ü";IDAG()) i celle B1
Kopier formlen nedaf i kolonne b, så langt som du regner med arket skal indeholde data.
Hvis du taster Ü i en celle i kolonne A, bliver cellen til højre for i kolonne b opdateret med dagsdato.
Bemærk datoen vil måske blive opdateret til dags dato, hver gang arket åbnes. Men det kan jeg ikke afprøve, umiddelbart. Det må komme an på en prøve.

Kommentar
Fra : sion


Dato : 16-08-12 06:42

Brassovitskis metode bevirker, at datoen (tidspunktet) bliver opdateret, hver gang der foretages en beregning i Excel - altså hver gang der ændres på en celle (hvis der er automatisk beregning). IDAG-formlen returnerer nemlig altid det aktuelle tidspunkt. Og det er vist ikke det, der er meningen.

Jeg vender tilbage med en macro senere...

Simon

Kommentar
Fra : Brassovitski


Dato : 16-08-12 07:56

Hej
Nej det er jo lige det jeg heller ikke tror sion. Jeg kan ikke lige se at der er en standaradfunktion, der kan gøre det. Det skal nok være noget med en kontrol der tjekker om celle A1 skifter fra indhold <> ü til at indeholde ü. U umlaut er godt nok også et lidt underligt tegn at bruge, synes jeg.

Accepteret svar
Fra : sion

Modtaget 100 point
Dato : 16-08-12 09:19

Indsæt følgende i arkets VBA-kode (højreklik evt. på arkfanen og vælg 'vis kode'):
Kode
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("A:A")) Is Nothing Then

If Target.Value = "ü" Then

Range("B" & Target.Row).Value = Now

End If

End If

End Sub


Først tjekkes, om der ændres mere end én celle. I så fald stoppes kodeafviklingen.

Ellers tjekkes, om den ændrede celle ligger i kolonne A, og derefter om værdien i cellen er "ü". Hvis det er tilfældet, indsættes det aktuelle tidspunkt (Now) i kolonne B i samme række som den ændrede celle i kolonne A.

Simon

Kommentar
Fra : boro23


Dato : 17-08-12 07:00

Hej Brassovitski
Kandesværre ikke bruge din formel, da den vil opdatere hver gang jeg åbner filen. Hvis du formatere ü til wingdings, får du et flueben.

Hej Simon
Det var lige det jeg skulle bruge. 1000 tak for hjælpen, viste jeg kunne regne med dig.

Kim

Godkendelse af svar
Fra : boro23


Dato : 17-08-12 07:01

Tak for svaret sion.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177578
Tips : 31968
Nyheder : 719565
Indlæg : 6409072
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste