Avatar billede krohn Praktikant
30. maj 2003 - 11:41 Der er 8 kommentarer og
1 løsning

Hvis værdi

Jeg skal have en markro (den har jeg) til at blive started af en =hvis() (hvis d3 er støre end 0)
Hvordan er det lige man gør det??
Avatar billede roose Nybegynder
30. maj 2003 - 13:03 #1
Jeg har et bud: Lav en funktion i VBA, som du kalder i cellen (i stedet for hvis()). Denne hjemmelavede funktion evaluerer om makroen skal køres, og kører den herefter.

Se blot her:

Function fkt(value As Variant)
If value > 0 Then
    run_macro
Else
End If

End Function

Sub run_macro()
MsgBox "din makro kører her"
End Sub

I en-eller-anden celle laver du: =fkt(C3)

Det er muligt, at der findes en smartere løsning - men denner her fungerer i hvert fald.
Avatar billede roose Nybegynder
30. maj 2003 - 13:04 #2
ja - ok... det er altså =fkt(d3) naturligvis....
Avatar billede krohn Praktikant
31. maj 2003 - 09:25 #3
Jeg har cellerne A3 - D3, der er: Dato - start - slut - total ... Ideen er at når man intaster noget i cellerne start eller slut, skal den selv skrive dags dato ind i dato feltet, dette skal ikke være NU() da den ændres næste gang man åbner arket,,,
Jeg kan ikke lige få det til, med det du skriver,,,
Avatar billede fagpoler Novice
31. maj 2003 - 11:12 #4
Er det kun B3 eller C3 du skal skrive i eller er det hele kolonnerne fra B3- B16384 eller C3-16384?
Avatar billede fagpoler Novice
31. maj 2003 - 11:22 #5
Du siger at du har en markro der starter hvis d3 er støre end 0
Bliver den aktiveret af en knap eller ved tryk på ender i cellerne
B3 - C3?. Du kan evt. lige skrive makroen, så jeg kan se hvad den gør.
Avatar billede roose Nybegynder
31. maj 2003 - 14:08 #6
Ok - jeg kan ikke helt se sammenhængen mellem dit første og andet spørgsmål. Dit andet spørgsmål, ville jeg løse med en funktion (se nederst).

Denne funktion kan du kalde i cellen med dagsdato (A3).
I celle A3 skriver du: =dagsdato(b3;c3)
Hvis b3 og c3 er tomme, er også A3 tom.
Hvis enten b3 eller c3 er forskellig fra tom, da er A3= dags dato.

Hvis du - udover dette - ønsker at kalde en makro, kan du jo bare gøre det (som vist i mit første svar).

Held & lykke - håber du kan bruge mit svar.

Function dags_dato(celle_start As Variant, celle_slut As Variant)

If celle_start <> "" Then
    dags_dato = Now()

ElseIf celle_slut <> "" Then
    dags_dato = Now()
Else: dags_dato = ""
End If


End Function
Avatar billede bak Forsker
03. juni 2003 - 18:39 #7
prøv at indsætte dette her i arkets eget kodemodul (højreklik på arkfanen, vælg vis programkoder)


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:C")) Is Nothing Then
    If Range("D" & Target.Row).Value > 0 Then Range("A" & Target.Row) = Date
End If
End Sub
Avatar billede krohn Praktikant
04. juni 2003 - 08:14 #8
Bak det virkede, lige som det skulle, smid lige et svar
Avatar billede bak Forsker
04. juni 2003 - 09:05 #9
Ok, godt det funker :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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