Kan du præcisere det lidt, hvis man har 10x10 celler og fjerne 2 i midten... lige i midten? så vil en sammenrykning jo betyde at du har fx en kolonne med 10 celler to med 8 celler og 7 med 10 celler, er det det du forestiller dig? Eller er det kolonnerne du vil slette for hvis du gør de ved at højreklikker på kolonnens titel fx D og vælger slet, så rykker de andre kolonner sammen automatisk...
Sletter du celler: Marker de celler du vil fjerne, højreklik på markeringen og svar på dialogboksen, hvordan du vil flytte de andre celler. Sletter du rækker eller kolonner:´ Marker de rækker, eller de kolonner du vil slette, ved at klikke på kolonne eller række etiketten (f.eks. c eller 3) og trække markøren for at medtage flere rækker eller kolonner. Højreklik derefter på markeringen og vælg "slet"
Til mlhave: Nej forestil dig at du skriver tallene fra 1 - 100 i de 10 x 10 celler. så skal tallet 7 slettes kan man så rykke de 10 x 10 celler således at det tomme felt (hvor tallet 7 stod) kommer til at stå i celle nr. 100??
ja, det kan man godt :o) Det kræver bare en der kan lave det i VBA - så her må jeg stå af, jeg er langt fra verdensmester i det, men hvis ingen andre svare i løbet af et par dage skal jeg nok kaste mig over det :o)
hvis du har dataerne i Celle A1 Til J10, så virker den her.
Public Sub FlytTomt() Sheets("Ark1").Select Dim Rng As Variant On Error GoTo Slut Rng = Range("a1:J10") For r = 1 To 10 For K = 1 To 10 If Rng(r, K) = "" Then If K + 1 < 11 Then Rng(r, K) = Rng(r, K + 1) Rng(r, K + 1) = "" Else Rng(r, K) = Rng(r + 1, 1) Rng(r + 1, 1) = "" End If End If Next Next Slut: Range("a1:J10") = Rng End Sub
Til kabbak Ja ok, men så er der endnu et problem. Det med de 10 x 10 celler var kun et eksempel, i virkligheden kan det være i mange forskellige størelser det antal celler jeg skal bruge, både i længde og bredde
Her skal du makere området, inden du kører makroen, til gengæld virker den overalt.
Public Sub FlytTomt() Dim Rng As Variant On Error GoTo Slut Rng = Selection A = UBound(Rng) C = Selection.Columns.Count For r = 1 To A For K = 1 To C If Rng(r, K) = "" Then If K + 1 < C + 1 Then Rng(r, K) = Rng(r, K + 1) Rng(r, K + 1) = "" Else Rng(r, K) = Rng(r + 1, 1) Rng(r + 1, 1) = "" End If End If Next Next Slut: Selection = Rng End Sub
Jeg bruger regneark til at lave "manco lister" Jeg har gjordt cellerne smallere så der kan være flere (det skal passe til udskriften) Jeg skriver så tal i alle cellerne fra venstre top og nedad i et X antal linier. Og med tiden bliver der så slettet et tal "celle" hist og pist. Så kommer det, det hele drejer sig om, nemlig sammen rygningen af det således at de celler der var tomme forsvinder og listen dermed bliver kotere
Hvis jeg har forstået det korrekt, er det hver kolonne der skal forminskes. Ved denne skal du klikke ind i området, så finder den selv afgrænsningen. Den flytter op til 10 tomme i hver kolonne, hvis du har mere så kør den igen.
Public Sub FlytTomt() Dim Rng As Variant ActiveCell.CurrentRegion.Select 'On Error GoTo Slut Rng = Selection A = UBound(Rng) C = Selection.Columns.Count For I = 1 To 10 For r = 1 To A - 1 For k = 1 To C If Rng(r, k) = "" Then Rng(r, k) = Rng(r + 1, k) Rng(r + 1, k) = "" End If Next Next Next Slut: Selection = Rng End Sub
Og så vidre, i virklig heder er der MÅSKE 15 vanret og 40-50 lodret. Men på eksemplet skal vi nu ha slettet nr. 8 og nr. 22 siger vi. Så ser "manco listen" sådan ud: 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30
Og udskriften ser selfølgelig også sådan ud.
Kunne man så ikke ved brug af regneark rykke sammen på cellerne så "manco listen" kommer til at se sådan her ud ??
Public Sub FlytTomt() Dim Rng As Variant ActiveCell.CurrentRegion.Select Rng = Selection A = UBound(Rng) C = Selection.Columns.Count For I = 1 To 10 For R = 1 To A For K = 1 To C If Rng(R, K) = "" Then If K + 1 < C + 1 Then Rng(R, K) = Rng(R, K + 1) Rng(R, K + 1) = "" Else If R + 1 <= A Then Rng(R, K) = Rng(R + 1, 1) Rng(R + 1, 1) = "" End If End If End If Next Next Next Selection = Rng End Sub
Til kabbak Jeg har prøvet din formel, gjorde som du sagde jeg skulle i en tilfældigt "manco liste" og puff den gjorde som den skulle, så svar er accepteret, mange tak, du er sgu sendig :-) MVH TA2003
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.