Avatar billede qln Juniormester
27. juni 2005 - 14:55 Der er 10 kommentarer og
1 løsning

Automatisk udfyldning af felter

I en kolonne står der forskellige navne i ca hver femte celle. De øvrige celler er blanke.

De blanke celler vil jeg så gerne have udfyldt automatisk med det navn, som står umiddelbart ovenover den blanke celle.

Ex. i B2 står der Helle og i B7 står der hans. B3 tom B6 skal der nu står Helle. Der må altså ikke røres ved Hans.
Avatar billede sjap Praktikant
27. juni 2005 - 15:03 #1
Hvis det bare er noget du skal gøre én gang kan du i C2 (eller i en anden kolonne) skrive

=HVIS(B2>"";B2;B1)

Denne formel kan kopieres hele vejen ned, og bagefter kan du så kopiere disse data over i kolonne B med "Indsæt speciel" med markering i "Værdier".
Avatar billede qln Juniormester
27. juni 2005 - 15:40 #2
Det er noget jeg regner med at bygge ind i en makro, så jeg skal bruge det igen og igen.

Der kommer hele tiden nye blanke rækker ind i arket, og det er disse, som skal udfyldes automatisk.
Avatar billede sjap Praktikant
27. juni 2005 - 15:55 #3
Prøv med denne her:

Sub ErstatTomme()
Dim SidstUdfyldt

SidstUdfyldt = Worksheets("Ark1").Range("B2").Value
For Each c In Worksheets("Ark1").Range("B3:B100")
    If Not c.Value <> "" Then
        c.Value = SidstUdfyldt
    Else
        SidstUdfyldt = c.Value
    End If
Next c
End Sub
Avatar billede qln Juniormester
27. juni 2005 - 16:03 #4
Jeg er ikke så godt inde i VB.

Fungerer den også, når der er flere forskellige kolonnor, der ikke skal udfyldes?
Avatar billede sjap Praktikant
27. juni 2005 - 16:06 #5
Jeg er ikke helt med på, hvad du mener.

Som funktionen står ovenfor, så udfyldes kun blanke i faneblad "Ark1" i området B3:B100.
Avatar billede qln Juniormester
28. juni 2005 - 09:54 #6
Det fungerer perfekt.

Er det muligt at angive et dynamisk antal celler, som skal udfyldes i stedet for de 100.
Det skulle gerne være til og med den nederste række, som er udfyldt. Ex. er der udfyldt noget i celle A130, hvorfor der skal udfyldes til og med række 130.
Avatar billede sjap Praktikant
28. juni 2005 - 15:23 #7
Prøv lige med

Sub ErstatTomme()
Dim SidstUdfyldt

SidstUdfyldt = Worksheets("Ark1").Range("B2").Value
For Each c In Worksheets("Ark1").Range("B3", Range("B65536").End(xlUp))
    If Not c.Value <> "" Then
        c.Value = SidstUdfyldt
    Else
        SidstUdfyldt = c.Value
    End If
Next c

End Sub
Avatar billede bak Forsker
28. juni 2005 - 20:27 #8
Et lille trick kan fikse det uden vba
marker alle celler fra B2 til fx B200
tryk F5 og vælg Specielle
vælg så "Tomme"
Alle tomme celle vil så være markerede
tryk F2 og skriv =B2 og afslut indtastning med ctrl-enter
Avatar billede sjap Praktikant
28. juni 2005 - 20:32 #9
bak > Fikst! Hvordan får du rodet dig ud i den slag funktioner?
Avatar billede bak Forsker
28. juni 2005 - 20:33 #10
UPS, så ikke lige at du ville bygge det ind i en makro.....
Avatar billede bak Forsker
28. juni 2005 - 20:46 #11
Sjap, jeg har bare set den et tilfældig sted engang og syntes at den var smart :-)
desværre har jeg ikke selv opfundet den .....
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