Avatar billede johnnyl Novice
01. november 2016 - 10:13 Der er 11 kommentarer og
1 løsning

VBA kopier kun celler der har indhold

Hejsa
I kolonne B og C er der nogle celler der står et bogstav i, men der vil maks. være placeret et bogstav i samme række.
Nu vil jeg have de bogstaver der er indtastet i kol. b og C flyttet / kopieret over i kol. A
Er der nogen der kan en lille kode til dette.
Avatar billede ebea Ekspert
01. november 2016 - 10:29 #1
Det kan du gøre med en formel. Indsæt formlen i A kolonnen, og kopier ned, så langt du ønsker at dække rækkerne.
=SAMMENKÆDNING(B1;C1)
Avatar billede johnnyl Novice
01. november 2016 - 10:47 #2
Ja jeg har prøvet med =B1&C1 og får samme resultat, men da jeg skal arbejde videre med cellerne i pivottabel så er de resterende celler i kol. A ikke tomme længere, når der først har været skrevet noget i dem
Avatar billede ebea Ekspert
01. november 2016 - 11:12 #3
Prøv med denne kode, og kør derefter makroen.

Sub SamKol()
    'Sammenkæd kolonner B & C i kolonne A
    Dim LastRow As Long
    With Worksheets("Ark1")
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        With .Range("A1:A" & LastRow)
            .Formula = "=B1&C1"
            .Value = .Value
        End With
    End With
End Sub
Avatar billede johnnyl Novice
01. november 2016 - 12:30 #4
Der sker intet
Avatar billede ebea Ekspert
01. november 2016 - 12:53 #5
Er det et svar at give tilbage?.
Hvor er det, at der ikke sker intet?
Hvis dit Ark du har eksemplet i, hedder "Ark1" og din tekst står i kolonne B og C, så vil koden sammensætte teksterne i kolonne A.
Avatar billede johnnyl Novice
01. november 2016 - 13:04 #6
Mit ark er Ark1, jeg har i cellerne b1, b5, b10 stående et s og i c2, c6 stående et d
Men der sker intet når jeg køre makro.
Avatar billede Jan Hansen Ekspert
01. november 2016 - 13:18 #7
Sub SamKol()
    'Sammenkæd kolonner B & C i kolonne A
    Dim LastRow As Long
    With Worksheets("Ark1")
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        With .Range("A1:A" & LastRow)
            .value = .offset(0,1).value & .offset(0,2).value
            .Value = .Value
        End With
    End With
End Sub

tror det skal være sådan da de andet kun kikkser i række 1
Rettelse  .value = .offset(0,1).value & .offset(0,2).value
Avatar billede ebea Ekspert
01. november 2016 - 13:23 #8
Så ved jeg ikke hvad der sker i dit Ark. Når jeg tester koden her (også med dit eks. i #6), så sammensættes tekst i Kolonne A, i de respektive rækker.
Indsætter du koden i dit Ark (f.eks. højreklik på Ark fanen, og vælg "Vis programkode"), og så indsæt koden i det Ark.
Avatar billede johnnyl Novice
01. november 2016 - 13:50 #9
Dette var underligt, jeg startede en ny Excel fil op og kopi ebea's forslag ind og kørte den og dette fungeret, forstår ikke hvorfor den ikke gjorde i det andet ark, men det vigtigste er at det virker nu.

Jan Hansen, den melder fejl i den linje 
.value = .offset(0,1).value & .offset(0,2).value
Avatar billede ebea Ekspert
01. november 2016 - 13:59 #10
#7  -  Hvorfor mener du at det skulle ændre noget?.
Der kigges jo på de rækker hvor der indeholdes værdier, og ned til enden af kolonnen, i forhold til Value og Range værdier.
Avatar billede johnnyl Novice
01. november 2016 - 14:07 #11
Kan ikke svare på hvorfor der var knude i mit første ark, men takker for hjælpen, nu kan jeg komme til at udbygge min Makro.
Avatar billede ebea Ekspert
01. november 2016 - 14:13 #12
Du er velkommen! Det vigtigste var, at det kom til at virke ;-)
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