Avatar billede brilleabe Nybegynder
17. marts 2004 - 16:24 Der er 8 kommentarer og
1 løsning

kopiering af nedad hvis cellen er tom

Jeg har nogle lange lister i excel som ser ud som pivot tabeller (men som ikke er det !).


Dvs at hvis der er 50 rækker som har det samme i kolonne A står der kun noget i første række.

Findes der en nem måde at kopiere nedad på. Forstået således at alle tomme celler bliver fyldt ud med det som der står i den første celle ovenfor som har indhold. (håber ikke det er beskrevet for kryptisk).

Det skal være via VBA for jeg har mange, lange ark. Jeg havde forstillet mig noget med at man kunne stille sig i den første celle i den aktuelle kolonne og så køre en makro som udfyldte alle tomme celler nedad i arket. Derefter kunne man gå videre til næste kolonne.

Håber i forstår (!)
Avatar billede bak Forsker
17. marts 2004 - 17:18 #1
Du kunne optage dette og selv optimere den.

Marker Alle celler i kolonnen der skal udfyldes.
Tryk F5, og vælg "Special"
Vælg "Tomme celler"
Skriv = og peg på den øverste celle der allerede er udfyldt
tryk CTRL og ENTER

alle tomme celler bliver nu udfyldt med det der står i de overliggende celler der allerede er udfyldt.
Avatar billede brilleabe Nybegynder
17. marts 2004 - 17:35 #2
Jo men,

Længere nede i arket (ie efter de 50 rækker) kommer der en ny tekst og så er de efterfølgende rækker tomme (igen). Det er således noget som skal gentages flere gange indtil der ikke er flere tomme celler i kolonnen.

Dvs makroen skal starte i celle nummer 2 og checke om celle 3 er tom. Hvis den er det skal den kopiere fra celle 2. Derefter skal den checke celle 4 - hvis tom - kopieres fra celle 3, osv indtil bunden af kolonnen er nået.
Avatar billede bak Forsker
17. marts 2004 - 17:40 #3
Sub Udfyld()
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "=R[-1]C"
End Sub
Avatar billede bak Forsker
17. marts 2004 - 17:42 #4
Jamen brilleabe, det sker jo også.
Prøv at gøre som jeg skriver (marker hele vejen ned) eller køre makroen
Avatar billede brilleabe Nybegynder
17. marts 2004 - 17:44 #5
tak, prøver lige så snart jeg kommer hjem (!)
Avatar billede kabbak Professor
17. marts 2004 - 17:49 #6
Mit bud ville være det her


Public Sub FyldOp()
Dim Temp As Variant
Temp = ""
For Each C In Selection
If C <> "" Then
Temp = C.Value
Else
C.Value = Temp
End If
Next
End Sub
Avatar billede brilleabe Nybegynder
17. marts 2004 - 19:47 #7
Jamen, du har jo fuldstændig ret bak. Det virker bare !

Smid et svar - så sender jeg lidt point.

>>kabbak, din model virker også, men den er en del langsomere en bak's. Den kopiere hele vejen ned (65635) Det gør bak's ikke. (jeg forstår ikke hvorfor).

Tak for inputtet begge to.
Avatar billede bak Forsker
17. marts 2004 - 20:07 #8
ok, godt det funger...
Avatar billede Bendt Skov Novice
09. marts 2018 - 13:17 #9
Hvilken kommando skriver man så, hvis a1 og b1 ikke er ens, og så skal den rykke b 1 en celle nedad.
F.eks. har jeg i c1 =HVIS(A1=B1;"samme";"Ny"), den skriver hvis B1 er en anden end A1, men kunne godt tænke mig at den flyttede b1 en celle nedad, og så fremdeles hele vejen ned i kolonnen
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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat