Avatar billede Rauff Juniormester
29. november 2012 - 10:01 Der er 8 kommentarer og
1 løsning

Sørning i kolonne om felt er tom herefter kopier eller spring videre

Hej
Jeg er ved at lave en makro som gerne skulle lave en Pivot tabel fra nogle data som mine kollegaer selv kan generer.
Mit problem er, at i "kolonne A" hvor navnet på overvaregruppen står, står navnet KUN i første linje, de efterfølgende linjer (hvor undergrupperne er specificeret i kolonne B) er så tomme i kolonne A indtil næste Overgruppe kommer og herefter gentager det sig.

Hvordan laver jeg en makro der:
1 Søger i celle A2: Hvis den finder noget springer den videre til A3, hvis den ikke finder noget kopier den fra cellen over og springer derefter videre til A3
2) denne søgning skal gentages hele vejen igennem kolonne A
3) hvordan får man stoppet denne proces igen
Avatar billede jens48 Ekspert
29. november 2012 - 21:09 #1
Prøv med denne makro

Sub fill()
For x = 2 To 50
If Cells(x + 1, 1) = "" Then
Cells(x + 1, 1) = Cells(x, 1)
End If
Next
End Sub

Makroen kører fra linie 2 til 50. det skal evt. rettes
Avatar billede Rauff Juniormester
30. november 2012 - 08:54 #2
Hej Jens48

Har lige en forlænget weekend, men får det testet på mandag.

Umiddelbart ser det pefekt ud.

Kan man selv bestemme hvor en skal starte eks. A4 så jeg kan lægge det ind i makroen, så risiker jeg ikke at de står i den forkerte kollonne når de starter makroen ??

Kan man evt. lave en slutning på makroen hvor den stopper hvis den har kopieret det samme navn eks. 15 gange ??
Avatar billede Rauff Juniormester
30. november 2012 - 09:29 #3
Hej igen

Glem det første spørgsmål, jeg kan jo bare starte makroen med
Range("A4").Select
:-)

Men jeg er stadig interesseret i om jeg kan få den til at stoppe gentagelsen på en "intelegent" måde ?
Avatar billede jens48 Ekspert
30. november 2012 - 10:05 #4
Jeg kigger på det i weekenden
Avatar billede store-morten Ekspert
30. november 2012 - 19:23 #5
Sub fill()
For x = 4 To 50
If tæller = 15 Then Exit Sub
If Cells(x + 1, 1) = "" Then
Cells(x + 1, 1) = Cells(x, 1)
tæller = tæller + 1
Else
tæller = 0
End If
Next
End Sub
Avatar billede jens48 Ekspert
01. december 2012 - 19:49 #6
Ja, nu kom Store-Morten mig i forkøbet, men da jeg ikke er helt sikker på hvad du mener med et intelligent stop og Store_Mortens forslag måske ikke opfylder dit ønske, får du mit forslag her.
Mit gæt er at du ikke ønsker at fylde kolonne A længere ned end kolonne B går. Derfor har jeg ladet makroen checke om der står noget i kolonne B og så bliver makroen som følger:

Sub fill()
For x = 5 To 100
If Cells(x, 2) = "" Then Exit Sub
If Cells(x, 1) = "" Then
Cells(x, 1) = Cells(x - 1, 1)
End If
Next
End Sub

Hvis det ikke er det du ønsker, må du forklare det lidt mere detaljeret
Avatar billede Rauff Juniormester
03. december 2012 - 10:06 #7
Hej Store-Morten & jens48

Tusind tak for jeres brugbare løsning.
Store-Morten: Du kom med den løsning jeg havde tækt på - SUPER
jens48: Du kom med en endnu bedre løsning - PERFEKT

Endnu en gang mange tak.

Vil I lige lægge et svar
Avatar billede jens48 Ekspert
03. december 2012 - 10:31 #8
Det ligger under #1
Avatar billede store-morten Ekspert
03. december 2012 - 17:47 #9
Velbekomme.
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