02. august 2024 - 10:07Der er
9 kommentarer og 1 løsning
Kan det gøres lettere
Jeg har et regneark, hvor der fra kolonne l (12) står en række ens tal i den og de følgende kolonner. eks: 271 271 271 271 271 271 271 Jeg blanker nu en eller flere af cellerne så der står: 271 271 271 271 271 jeg har forsøgt at lave en makro, som kan rykke tallene sammen, så der kommer til at stå 271 271 271 271 271 jeg har flere rækker i samme regneark. jeg har lavet denne makro:
sub sorter For x = 1 To 20 For y = 12 To 50
If Worksheets("Klodser").Cells(x, y) = "" Then Worksheets("Klodser").Cells(x, y) = Worksheets("Klodser").Cells(x, y + 1) Worksheets("Klodser").Cells(x, y + 1) = "" End If Next y Next x End Sub
hvis jeg har en række der indeholder: tal tal blank blank blank tal tal så skal jeg "bare" køre min makro 3 gange, så er det rykket sammen Men kan det gøres bedre/ lettere???
Markér de celler du vil slette. Ctrl+venstre klik. Højre-klik på den sidst markerede cell. Vælg 'Delete' eller 'Slet' Vælg 'Shift cells left' eller 'Ryk celler til venstre'
Sub Flytkolonne() Dim LastRow As Long LastRow = Columns("I:Z").Find("*", , xlValues, , xlRows, xlPrevious, , , False).Row Range("I1:Z" & LastRow).SpecialCells(xlBlanks).Delete xlShiftToLeft End Sub
Det kan være jeg misforstår dig, men udfordringen med at flytte på kolonner eller rækker er at din makro bør starte baglæns.
Derved skal din makro måske se sådan ud:
For x = 20 To 1 step -1 For y = 50 To 12 step -1
If Worksheets("Klodser").Cells(x, y) = "" Then Worksheets("Klodser").Cells(x, y) = Worksheets("Klodser").Cells(x, y + 1) Worksheets("Klodser").Cells(x, y + 1) = "" End If Next y Next x End Sub
ja men den flytter alle celler 1 til venstre som den skal. Problemet er så, at hvis jeg nogen steder har 4 tommer celler på række, så skal jeg køre den 4 gange :) Jeg må lave en tælle løkke, som tæller indtil den flytter 0 celler :)
#5 - Og har du testet den som jeg viste i #2 ? Den laver jo det du efterspurgte, og uanset antal tomme kolonner i den enkelte række, og antallet af rækker!
EBEA ja det gjorde jeg, men da den havde kørt i 15 min slog jeg excel ned :) Kan ikke gennemskue, hvad den gør og om jeg skal indsætte tal nogen steder ?
#7 - jeg går ud fra, at udgangspunktet i dit spørgsmål, var det du viste dit tal eksempel.
Så den fjerner mellemrum (tomme celler i rækkerne), med start i kolonne i. Og når makroen er kørt, ser du dine tal i rækkerne, flyttet imellem kolonnerne, så der ikke er tomme celler mellem dine tal (som du efterspurgte).
Så hvad du mener med, at den kører 15 min. hvor du så skal stoppe Excel, må du forklare lidt bedre.
Ebeas makro fra #2 virker upåklageligt. Men hvis du vil gøre det uden makro, kan det lade sig gøre ved at mærke hele området op, vælge Gå til Tomme, og så slette de valgte tomme celler ved at rykke til venstre.
jens48 nu har jeg testet den og den virker faktisk fint. Har ingen ide om, hvorfor den i eftermiddags fik excel til at køre 100% i 15 min ??
Synes godt om
Ny brugerNybegynder
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.