Print side | Luk vindue

Find Offset celle og slet 25 rækker over denne.

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3645
Udskrevet den: 21.Apr.2025 kl. 05:45


Emne: Find Offset celle og slet 25 rækker over denne.
Besked fra: Ib Hansen
Emne: Find Offset celle og slet 25 rækker over denne.
Posteringsdato: 15.Okt.2018 kl. 12:18
Hej Forum.

Den her har voldt mig nogle problemer.

Koden finder Offset sidste tomme celle i A + 2 celler derunder og vælger den.
Herefter skal den, ud fra den tomme celle, vælge Offset(-25, 0) opad og slette de 25 rækker.

Hvordan skal den røde Clear kode se ud ?
Public Sub Button59_onAction(control As IRibbonControl)
'--------------------------------------------------'
' Sletter det sidst kopierede på fanen Udskrivning '
'--------------------------------------------------'
    Sheets("Udskrivning").Range("A65536").End(xlUp).Offset(2, 0).Select
    
    If Sheets("ArkIndstil").Range("H2") = 1 Then ActiveCell.EntireRow.Cells.Offset(-25, 0).Clear
    If Sheets("ArkIndstil").Range("H2") = 2 Then xxxxxxxxx
    osv.
End Sub
På forhånd tak

Mvh.
Ib


-------------
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)



Svar:
Besked fra: maxzpad
Posteringsdato: 16.Okt.2018 kl. 13:08
Hej Ib

Jeg ville gøre noget a la dette:

    Dim rowTop, rowBottom As Long
   
    With Sheets("Udskrivning")
   
        ' Rækkenummer på "sidste celle i kolonne A + 2 rækker"
        rowBottom = .Range("A" & .Rows.Count).End(xlUp).Offset(2, 0).Row
       
        ' Rækkenummer på den række oven over, som inklusiv rækken for "sidste celle i kolonne A + 2 rækker" giver 25 rækker
        rowTop = rowBottom - 24
       
        ' Med udgangspunkt i rækkenummeret "rowTop" foretages Resize på 25 rækker og 1 kolonne
        If Sheets("ArkIndstil").Range("H2") = 1 Then .Cells(rowTop, "A").Resize(25, 1).Select
       
        'If Sheets("ArkIndstil").Range("H2") = 1 Then .Cells(rowTop, "A").Resize(25, 1).Clear
       
    End With

Mvh Max



Besked fra: Ib Hansen
Posteringsdato: 16.Okt.2018 kl. 16:25
Hej Max.

Tusind tak - Det ser interessant ud og jeg vil gemme koden.
Men efter at have spekuleret en del over, hvordan arket skal strikkes sammen, dur løsningen nok ikke alligevel.

Pt. vil jeg ikke /topic662.html" rel="nofollow - /topic662.html" rel="nofollow - /topic662.html - uploade mit ark, da det slet ikke er færdigt og laver en masse fejl.
Men jeg kan prøve at forklare lidt om, hvordan det hele hænger sammen.
Hvis du er interesseret, kan du prøve at læse om det nedenunder Wink
-----------------------

Arket er et skema over de vagter man har kørt.
Det beregner timer, tillæg, overtid osv. på hver vagt, når de tastes.

Skemaet er opdelt i uger og hver uge, er opdelt i en øverste og nederste del
- Den øverste del beregner timer, tillæg osv.
- Den nederste del beregner overtiden.
- Datoen for første dag i ugen kan selvfølgelig ændres, så der beregnes korrekt ift. helligdage.
- 1 Uge = 25 rækker.

Men via en "settings" kan arket også indstilles til at køre i turnus og i x-antal uger
- En afløser beregnes kun på 1 uge.
- En rammeturnus beregnes mellem 2-6 uger.
- En almindelig turnus beregnes mellem 2-16 uger.

Når en uger eller turnus, bestående af x-antal uger er tastet, skal dataene gemmes på fanen "Udskrivning".
Herefter kan en ny dato vælges, tastningen kan fortsættes og gemmes under de første data på fanen.
Osv. og så kan det hele printes.

Koden skulle bruges til at slette gemte data fra "Udskrivning", hvis der er tastet forkert.
Men da ugerne kan have forskellige varigheder og dermed forskellige antal rækker, er den lidt svær at lave GeekErmm

Senarie
- En afløser indstiller arket til 1 uge, med en startdato og taster hans vagter.
- Dataene gemmes på "Udskriv".
- Herefter skiftes datoen til næste uge og nye vagter tastes og gemmes.
- Så bliver han ansat i en almindelig turnus på 3 uger og fortsætter tastningen med de nye indstillinger.

Hvis der tastes forkert, hvordan skal man så definere, hvor mange linjer der skal slettes ?
- De 2 første uger = 2 x 25 linjer + lidt mellemrum mellem ugerne.
- Den næste 3 ugers turnus = 3 x 25 linjer + lidt mellemrum mellem ugerne.

En turnus kan ikke deles op i uger, da beregning af turnusnorm foregår over hele perioden.
Og man får ikke lov at åbne og se fanen "Udskrivning".

Løsning - tror jeg Disapprove
- Der tastes en uge eller turnus.
- Når det gemmes, kopieres dataene til "Udskrivning" og der generes en PDF ud fra datoerne.

Der kan gemmes på to måder
1. Når der skiftes dato, via en MsgBox "Vil du gemmer før der skiftes dato".
2. Eller direkte på en "Gem" button.

Det vil give en masse PDF'er, men hver uge eller turnus er delt på hver sin PDF.
Og en PDF kan altid slettes og der kan tastes en ny uge, der gemmes.

Lige nu kæmper jeg med
- At lave userform til at definere lagringsmappen.
- At lave PDF koden, der gemmer PDF'en i lagringsmappen, med de rigtige datoer.
- Plus en masse andre koder, hvor lagringsmappen skal kunne skiftes, åbnes osv.

Jeg har vedhæftet et PDF, der forklare det hele lidt bedre.
Den skal nok også bruges, hvis andre skal bruge arket, men den skal finpudses først.
uploads/1125/Løn_specifikation_v._2.05.pdf" rel="nofollow - Downloades her

Mvh.
Ib

Ps. Hvis du er nået hertil, må jeg sige, du er ihærdig LOLHugThumbs Up



-------------
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)


Besked fra: maxzpad
Posteringsdato: 18.Okt.2018 kl. 09:52
Hej Ib

Om end jeg anser mig selv for værende ihærdig, kan jeg kun afse tid til at hjælpe med mindre opgaver og issues i dette forum, og jeg har derfor ikke nærlæst beskrivelsen af din opgave. Smile


Mvh Max


Besked fra: Ib Hansen
Posteringsdato: 18.Okt.2018 kl. 10:25
Hej Max.

Det var også en stor omgang at læse og du skal have tusind tak for hjælpen Thumbs Up

Koden er god og jeg gemmer den Clap men jeg har nu løst problemet på en helt anden måde, hvor jeg undlader fanen "Udskrivning".

Arket er stadig ikke helt færdigt, men hvis du er interesseret, kan jeg sende det i en privat mail her, når det kører lidt bedre Disapprove

Mvh.
Ib



-------------
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)



Print side | Luk vindue