Avatar billede familienriis Nybegynder
04. januar 2008 - 22:30 Der er 12 kommentarer og
1 løsning

kopiere en tekst ind i kol D når kol C ændres

Jeg kunne godt tænke mig at få kopieret en værdi der står i en celle der er navngivet som "INITIALER" til nogle celler i kolonne D.

Når jeg ændret noget i kolonne C skal den automatisk indsætte det der står i "INITIALER" i samme linie men bare i kolonne D.

MEN

Den skal kun gøre det hvis Kolonne D er tom.
Hvis der allerede står noget i kolonne D, skal den exit sub
Avatar billede jkrons Professor
04. januar 2008 - 23:38 #1
Prøv at lægge dette i arkets kodemodul:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 3 Then
    If Range("D" & Target.Row) = "" Then
        Range("D" & Target.Row) = Range("INITIALER")(Target.Row, 1).Value
    End If
  End If
End Sub
Avatar billede familienriis Nybegynder
05. januar 2008 - 00:08 #2
jeg kan desværre ikke få den til at gøre noget som helst
Jeg har lagt koden ind i arket kodemodul, men der sker intet.
Avatar billede jkrons Professor
05. januar 2008 - 00:12 #3
Højreklik på arkfanen for det relevante ark. Vælg Vis programkode. Læg koden ind der.
Avatar billede familienriis Nybegynder
05. januar 2008 - 11:42 #4
nu har jeg fået det til at virke, men det er kun i linie 1 at den virker.
Den skulle gerne virke i ca. 200 linier.

Og så en lille krølle på halen.
Kan det lade sig gøre at den kun indsætter INITIALER, hvis den celle man lige har ændret IKKE er tom når man har ændret.

Det kan nemlig godt give lidt problemer, da den indsætter INITIALER når man sletter noget i en celle.
Avatar billede jkrons Professor
05. januar 2008 - 11:55 #5
Det sidste kan sagtens lade sig gøre. Jeg er ikek helt sikker påå, hvorfro det kun virker i første linie. Hos mig virker det i alel linier. Hvad sker der i linierne efter første?
Avatar billede familienriis Nybegynder
05. januar 2008 - 12:12 #6
Der ikke noget i linierne 2-????
Det er kun i linie 1 den kopiere teksten.

JEg vil lige prøve at teste det på en anden maskine
Avatar billede jkrons Professor
05. januar 2008 - 12:28 #7
Ellers prøv at sende regnearket til kronsell snabel adslhome dot dk
Avatar billede jkrons Professor
05. januar 2008 - 12:48 #8
Tak for det tilsendte. Jeg havde misforstået dig, og troede at INITIALEr var en hel kolonne. Prøv i stedet med

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 3 Then
    If Range("D" & Target.Row) = "" Then
        Range("D" & Target.Row) = Range("INITIALER").Value
    End If
  End If
End Sub

Det med at den ikke skal gøre noget, når du sletter vender jeg lige tilbage med. Skal den i øvrigt i den forbindelse fjerne eventuelle initialer i d-kolonnen, når der slettes i C?
Avatar billede familienriis Nybegynder
05. januar 2008 - 13:28 #9
Jeg takker for løsningen :-)
Ja, den må meget gerne slette initialer når man sletter i kol C
Avatar billede jkrons Professor
05. januar 2008 - 13:59 #10
Prøv med:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 And Target.Value = "" Then
    Target.Offset(0, 1).ClearContents
    Exit Sub
    Else
        If Target.Column = 3 Then
            If Range("D" & Target.Row) = "" Then
                Range("D" & Target.Row) = Range("INITIALER").Value
            End If
        End If
    End If
End Sub
Avatar billede familienriis Nybegynder
05. januar 2008 - 14:47 #11
Fuldstændig  som den skal være!!

Mange tak for hjælpen.

Hvis du har et svar, har jeg points :-)
Avatar billede jkrons Professor
05. januar 2008 - 14:57 #12
Jamen så har jeg da et svar :-)  Velbekomme.
Avatar billede jkrons Professor
05. januar 2008 - 14:57 #13
Og svaret kommer så her :-(
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