Avatar billede mrkr Juniormester
05. december 2013 - 08:58 Der er 4 kommentarer og
1 løsning

Hvis celle ændres skal tekst indsættes i aktuel celle

Jeg har 2 ark.
1 ark hvor jeg gerne vil have indsat nogle forskellige "autotekster" som kan være ret lange.
Jeg forestiller mig at koden a1, a2, a3 osv. skal være den udløsende faktor for hvornår der skal indsættes autotekster.

I mit ark "tekster" har jeg ca. 100 tekster stående i celle b1 - b100.

Mit tanke er så når jeg skriver a1 i kolonne A i mit arbejdsark, så skal den hente tekst fra celle b1 i arket "tekster", skriver jeg a2 skal den hente teksten fra b2, skriver jeg a3 skal den hente fra celle b3 osv.

Jeg har prøvet at stykke nedenstående kode sammen og indsætte det i arkmodulet, men det virker over hovedet ikke.

Er der nogen der kan hjælpe mig på rette vej?


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        If ActiveCell.Value = "a1" Then ActiveCell.Value = Sheets("tekster").Range("b1").Value
        If ActiveCell.Value = "a2" Then ActiveCell.Value = Sheets("tekster").Range("b2").Value
        If ActiveCell.Value = "a3" Then ActiveCell.Value = Sheets("tekster").Range("b3").Value
        'osv
    End If
End Sub
05. december 2013 - 09:01 #1
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        If Target.Value = "a1" Then Target.Value = Sheets("tekster").Range("b1").Value
        If Target.Value = "a2" Then Target.Value = Sheets("tekster").Range("b2").Value
        If Target.Value = "a3" Then Target.Value = Sheets("tekster").Range("b3").Value
        'osv
    End If
End Sub
Avatar billede repsakasper Juniormester
05. december 2013 - 09:09 #2
Nu er jeg ikke den største haj til Excel, men har da et bud, som burde virke :)

Indtast dette i det felt du vil have teksten til at stå:
=HVIS(Ark1!A1=A1;Ark2!B1;HVIS(Ark1!A1=A2;Ark2!B2;HVIS(Ark1!A1=A3;Ark2!B3;HVIS(osv osv, det burde være til at forstå nu :))))

Hvis dit excel er engelsk, så skriv istedet:
Ark = Sheet
HVIS = IF

Det kan være en langsommelig process at indtaste alle HVIS-funktionerne, men når det er gjort, virker det :)
- Findes der en nemmere måde, er jeg meget interesseret i at vide det, så følger lige med :)
Avatar billede repsakasper Juniormester
05. december 2013 - 09:25 #3
OPDATE:

Har lige leget lidt :)

Du kan bruge en SLÅ.OP funktion, som skal returnere et resultat på bagrund af et felt.

Hvis du i ark1 felt A1 skriver a1, a2, a3, a4 osv., så kan du få returneret dine tekster i b1-b100, ved at skrive a1, a2, a3 osv hele ven ned ved siden af i kolonne A. Så kan du bruge formlen:

=SLÅ.OP(Ark1!A1;Ark2!A1:A100;Ark2!B1:B100)

Igen, hvis dit regneark er engelsk, skriv da:
Ark = Sheet
SLÅ.OP = LOOKUP

Håber det kunne besvare dit spørgsmål? :)
Avatar billede mrkr Juniormester
05. december 2013 - 10:16 #4
Kommentar nr. 1 var lige det jeg søgte.
Mange tak for hjælpen. Smider du lige et svar Thor?

Også tak for input til Repsakasper.
Jeg søgte en vba løsning for at undgå for mange formler i arket, så det første svar fra Thor var bedste for mig.
05. december 2013 - 10:24 #5
Super - dejligt at kunne hjælpe.
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