Avatar billede kiminfarum Juniormester
18. november 2012 - 19:22 Der er 4 kommentarer og
1 løsning

LOPSLAG i makro - hvordan

Hej

Jeg har en kalender hvor jeg har et felt med bemærkninger til hver dag.
Hvis der ikke manuelt er tastet noget ind i feltet ønsker jeg i stedet at der enten skal være en formel med et: '=HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG' eller måske lidt nemmere værdien fra en anden celle der indeholder dette opslag.

Eks.
Faneblad: Januar
(Dato)
A1=1/1  B1=LOpslag el værdi af c1
A2=2/1  B2=LOpslag el værdi af c2

Jeg skal kunne skrive en tekst i B1 eks. 'Fødselsdag'
hvis jeg senere fortryder og sletter 'Fødselsdag' skal B1 igen indeholde 'LOpslag' eller værdi af c1

Store-Morten har tidligere givet mig god hjælp med et lignede spørgsmål. Her var det bare en ren tekst der skulle stå i feltet.
Jeg har prøvet at genbruge svaret:

---klip---
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("A1, A2")) Is Nothing Then
If Range("A1") = "" Then Range("A1") = "Dit navn"
If Range("A2") = "" Then Range("A2") = "Dit efternavn"
End If
End Sub
---klip---

men kan desværre ikke få det til at virke.



- Kim
Avatar billede store-morten Ekspert
19. november 2012 - 19:34 #1
Måske:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B1:B31")) Is Nothing Then
R = Target.Row
K = Target.Column
'OpslagsCelle
Ops = Target.Offset(0, 1).Address
'OpslagsOmråde
Fra = "F1"
Til = "G5"

If Len(Cells(R, K).Formula) = 0 Then Cells(R, K).Formula = _
"=IF(ISNA(VLOOKUP(" & Ops & "," & Fra & ":" & Til & ",2,FALSE)),"""",VLOOKUP(" & Ops & "," & Fra & ":" & Til & ",2,FALSE))"
End If
End Sub
Avatar billede kiminfarum Juniormester
20. november 2012 - 13:53 #2
Jeg kan desværre ikke rigtig få det til at virke, når jeg prøver at tilrette til de celler jeg skal søges i. Her er hele den formel som jeg bruger til opslag:
=HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG($H$1&" "&A$1&" "&B6;Kdage!$G$2:$J$367;4;FALSK));"";LOPSLAG($H$1&" "&A$1&" "&B6;Kdage!$G$2:$J$367;4;FALSK))

Bemærk opslaget er på et faneblad for sig selv (Kdage).
Cellerne der skal 'kikkes' på er L6 til L36 (Jan til Dec).

Jeg har fået opslaget til at virke på det faneblad hvor det skal bruges, det ligger skjult på AD6 til AD36, så det er måske det nemmeste 'bare' at kopiere indholdet af cellerne derfra.

- Kim
Avatar billede store-morten Ekspert
20. november 2012 - 16:44 #3
Hvis celle L6 "slettes" skal formlen:
=HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG($H$1&" "&A$1&" "&B6;Kdage!$G$2:$J$367;4;FALSK));"";LOPSLAG($H$1&" "&A$1&" "&B6;Kdage!$G$2:$J$367;4;FALSK))
Skrives i celle L6

Og ligeledes:
Hvis celle L7 "slettes" skal formlen:
=HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG($H$1&" "&A$1&" "&B7;Kdage!$G$2:$J$367;4;FALSK));"";LOPSLAG($H$1&" "&A$1&" "&B7;Kdage!$G$2:$J$367;4;FALSK))
Skrives i celle L7

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("L6:L36")) Is Nothing Then
R = Target.Row
K = Target.Column

If Len(Cells(R, K).Formula) = 0 Then Cells(R, K).FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(R1C8&"" ""&R1C[-11]&"" ""&RC[-10],Kdage!R2C7:R367C10,4,FALSE)),"""",VLOOKUP(R1C8&"" ""&R1C[-11]&"" ""&RC[-10],Kdage!R2C7:R367C10,4,FALSE))"
End If
End Sub
Avatar billede kiminfarum Juniormester
21. november 2012 - 12:19 #4
Jeg siger endnu engang tak til Store-Morten.
Hvis du giver et 'PIP' giver jeg point ;-)
Avatar billede store-morten Ekspert
21. november 2012 - 14:38 #5
Velbekomme
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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