Avatar billede mrkr Juniormester
14. oktober 2014 - 12:31 Der er 2 kommentarer og
1 løsning

VBA - indsætte tekst automatisk

Hej eksperter

Jeg har en vba kode hvor jeg på helt lavpraktisk har skrevet en masse linjer hvor den skal teste om der skrives q1 eller q2 eller q3 osv. i kolonne D eller E.

Hvis man skriver q1 skal den hente en tekst fra celle B1 i arket "autotekster"
Hvis man skriver q2 skal den hente fra b2
Hvis man skriver q3 skal den hente fra b3 osv.

Dvs. at der er 100% system imellem q-nr. og celle-nr. (1 mod 1, 2 mod 2 osv.)

Jeg har "q" koder fra nr. 1 - 999 og er derfor rendt ind i nogle problemer med længden af min kode (antal linjer)

Er der en af jer eksperter der kan lave en rettelse i min kode, så jeg ikke skal skrive en linje pr. "qkode" jeg har?





Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D:E")) Is Nothing Then

        If Target.Value = "q1" Then Target.Value = Sheets("autotekster").Range("b1").Value
        If Target.Value = "q2" Then Target.Value = Sheets("autotekster").Range("b2").Value
        If Target.Value = "q3" Then Target.Value = Sheets("autotekster").Range("b3").Value
        If Target.Value = "q4" Then Target.Value = Sheets("autotekster").Range("b4").Value
        If Target.Value = "q5" Then Target.Value = Sheets("autotekster").Range("b5").Value
        If Target.Value = "q6" Then Target.Value = Sheets("autotekster").Range("b6").Value
        ' osv.....
End If
End Sub
Avatar billede finb Ekspert
14. oktober 2014 - 13:30 #1
dim maalNR as integer

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("D:E")) Is Nothing Then
  For maalNR=1 to 999
    If Target.Value = "q" & maalNR Then Target.Value = Sheets  ("autotekster").Range("b" & maalNR).Value
  Next maalNR
endif
End Sub
Avatar billede mrkr Juniormester
14. oktober 2014 - 13:40 #2
Sådan der!
Det var lige det jeg skulle bruge.

Det er noget kønnere med noget ordentligt kode i stedet for mit eget hjemmebryg.

Jeg takker mange gange.
Avatar billede finb Ekspert
14. oktober 2014 - 13:45 #3
Selv tak...
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

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